`

SQLServer Schema 修改

 
阅读更多

有人说程序员天生为解决问题而生。

 

工作中总能遇到各种千奇百怪的问题,今天中午正在QC上浏览着BUG列表,突然一下页面卡住不动了,等了半天还是动不了......

 

远程到服务所在的win2003服务器上,桌面、任务栏什么也没有。应该是有后台服务,netstat -anb|findstr“访问端口”看到服务还在。

 

tasklist结合processExp找到服务工作目录,开始排查日志。

 

错误不多,就两个:

1)2018-10-31 12:43:48,687 INFO  [STDOUT] ERROR : Exception at initServerNode
2018-10-31 12:43:48,687 INFO  [STDOUT] java.sql.SQLException: Failed SQL: /* ~~QC */ select * from ADMIN
[Mercury][SQLServer JDBC Driver][SQLServer]对象名 'ADMIN' 无效。

 

2)2018-10-31 12:44:44,437 INFO  [STDOUT] ERROR : failed to delete old messages
2018-10-31 12:44:44,437 INFO  [STDOUT] java.sql.SQLException: Failed SQL: /* ~~QC */ DELETE FROM MESSAGES WHERE (MSG_EXPIRATION_TIME IS NULL AND MSG_SENT_TIME< (select DateAdd("s",-120000/1000,getdate()))) OR (MSG_EXPIRATION_TIME IS NOT NULL AND MSG_EXPIRATION_TIME< (getdate()))
[Mercury][SQLServer JDBC Driver][SQLServer]对象名 'MESSAGES' 无效。

 

数据库用的MSSqlserver2005,用studio查看qcsiteadmin_db数据库中有ADMIN和MESSAGES表,那是空间不对?试着create table admin...,居然能成功,不过已经存在的表是db.admin新建的表是dbo.admin,再启动QC时第一个错消失了,sqlserver默认表空间是dbo!至此问题定位了:代码中访问的表空间和数据库中的表空间不一致。

 

bing了一下sqlserver alter schema batch,找到了以下脚本:

 

DECLARE @SQL VARCHAR (8000),
 @TABLE VARCHAR (1000),
 @oldschema VARCHAR (1000),
 @newschema VARCHAR (1000)
SET @oldschema = 'td'
SET @newschema = 'dbo'
WHILE EXISTS (
	SELECT
		*
	FROM
		sys. TABLES
	WHERE
		schema_name (schema_id) = @oldschema
)
BEGIN
	SELECT
		@TABLE = NAME
	FROM
		sys. TABLES
	WHERE
		object_id IN (
			SELECT
				min(object_id)
			FROM
				sys. TABLES
			WHERE
				schema_name (schema_id) = @oldschema
		)
	SET @SQL = 'alter schema ' + @newschema + ' transfer ' + @oldschema + '.' + @TABLE exec (@SQL)
END
运行后问题解决。

 

 

 参考链接:

https://www.sqlservercentral.com/Forums/654301/change-old-schema-name-into-new-schema-name

分享到:
评论

相关推荐

    oracle数据库导入到SQL server.docx

    "Oracle数据库迁移到SQL Server" 本文将详细讲解如何使用Microsoft SQL Server Migration Assistant for Oracle.exe(微软数据库迁移工具)将Oracle数据库迁移到SQL Server。该工具可以帮助用户快速、安全地将...

    【SQL Server版本】scott.rar

    标题中的"【SQL Server版本】scott.rar"表明这是一个与SQL Server相关的资源,特别是将Oracle数据库中的经典示例——Scott Schema转换为了SQL Server格式。Scott Schema是Oracle数据库学习中的一个标志性例子,通常...

    toad for sqlserver操作手册

    ### Toad for SQL Server 操作手册关键知识点解析 #### 一、Toad for SQL Server 简介 Toad for SQL Server 是一款第三方数据库管理工具,专为Microsoft SQL Server 设计,提供了丰富的功能来帮助数据库管理员(DBA)...

    SQL Server 2000系统表地图.rar_sql_sql server_sql server 2000_多变量

    在SQL Server 2000中,系统表分为几大类别,包括信息Schema视图、master数据库中的系统表、model和msdb数据库中的系统表。这些表提供了对数据库对象的深入洞察,如: 1. **信息Schema视图**:这些视图提供了一种...

    sqlserver 导出表及字段说明脚本.rar

    这个压缩包"sqlserver 导出表及字段说明脚本.rar"包含了一个名为"sqlserver 导出表及字段说明脚本.sql"的文件,这通常是一个用于生成SQL语句的脚本,用于描述数据库中的表结构以及各字段的详细信息。以下是对这个...

    sqlserver sql语法大全

    ### SQLServer SQL语法大全 #### 创建数据库 在SQL Server中创建数据库是一项基本操作,通过`CREATE DATABASE`命令来实现。创建数据库时可以指定文件和日志文件的位置、初始大小及增长方式等参数。 **语法示例:**...

    SqlServer数据库中数据表的创建者非DBO的解决方案

    例如,如果一个存储过程引用了特定的所有者下的表,则更改所有权后可能需要对这些存储过程进行相应的修改。 3. **备份与恢复**:在进行重大权限调整前,建议先对数据库进行完整备份,以防万一出现问题时可以迅速恢复...

    SQLServer性能分析

    ### SQL Server性能分析详解 #### 一、引言 在现代企业级应用环境中,SQL Server作为主流的关系型数据库管理系统之一,其性能对于整个系统的稳定性和响应速度至关重要。当遇到SQL Server性能问题时,准确地诊断并...

    Microsoft SQL Server 2005技术内幕: T-SQ程序设计.pdf

    SQL Server 2005微软官方权威参考手册   是Inside Microsoft SQL Server 2005系列书中的第一本,SQL Server类的顶尖之作  全球公认SQL Server 2005经典著作,囊括大量鲜为人知的技术内幕,大师智慧、专家经验尽览...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    2.3 运行安装程序和修改SQL Server安装 2.3.1 创建新的SQL Server实例 2.3.2 添加组件和实例 2.3.3 修复SQL Server 2008安装 2.3.4 升级SQL Server 2008版本 2.3.5 卸载SQL Server 第3章 管理外围安全、访问以及...

    sqlserver 获取表名字段信息

    在 SQL Server 中,sys.tables 系统视图提供了关于表的基本信息,包括表名、所有者、创建日期和修改日期等。使用以下语句可以获取指定表的基本信息: ```sql SELECT [TableName] = [Tables].name, [TableOwner] ...

    SQL Server XML基础指南.pdf

    - **数据格式规范与验证**:SQL Server能够确保XML数据格式的规范性,根据XML Schema进行数据验证,保证数据的准确性和完整性。 - **高效查询与可伸缩性**:通过索引XML数据,SQL Server可以实现高效查询处理,即使...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    2.3 运行安装程序和修改SQL Server安装 2.3.1 创建新的SQL Server实例 2.3.2 添加组件和实例 2.3.3 修复SQL Server 2008安装 2.3.4 升级SQL Server 2008版本 2.3.5 卸载SQL Server 第3章 管理外围安全、访问以及...

    oracle转SQL Server方法收集

    ### Oracle转SQL Server方法详解:运用SSMA工具实现高效迁移 #### 一、引言 随着企业业务的发展和技术栈的变化,数据库迁移成为了一个常见的需求。本文将详细介绍如何使用Microsoft SQL Server Migration ...

    SQL SERVER 2005 简介

    DDL 的主要语法有 Create、Alter 和 Drop,用于建立、修改和删除 SQL Server 服务器端物件。DCL 的主要语法有 Grant、Deny 和 Revoke,用于允许、拒绝和移除帐号角色对物件的权限。 SQL Server 2005 的关系型数据库...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    2.3 运行安装程序和修改SQL Server安装 2.3.1 创建新的SQL Server实例 2.3.2 添加组件和实例 2.3.3 修复SQL Server 2008安装 2.3.4 升级SQL Server 2008版本 2.3.5 卸载SQL Server 第3章 管理外围安全、访问以及...

    如何获取SQLServer数据库元数据的方法[文].pdf

    "如何获取SQL Server数据库元数据的方法" 元数据简介: 元数据(metadata)是关于数据的结构数据,或者再简单一点就是关于数据的信息。在关系型数据库管理系统(DBMS)中,元数据描述了数据的结构和意义。在日常...

    SQL Server数据库建用户授权

    SQL Server 数据库用户授权 SQL Server 数据库用户授权是指在 SQL Server 数据库中创建用户账户并赋予相应的权限,以便用户可以访问和管理数据库中的对象。本文将详细介绍如何使用 SQL 语句创建数据库用户,赋予...

Global site tag (gtag.js) - Google Analytics