有人说程序员天生为解决问题而生。
工作中总能遇到各种千奇百怪的问题,今天中午正在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
相关推荐
SQL Server 2005微软官方权威参考手册 是Inside Microsoft SQL Server 2005系列书中的第一本,SQL Server类的顶尖之作 全球公认SQL Server 2005经典著作,囊括大量鲜为人知的技术内幕,大师智慧、专家经验尽览...
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章 管理外围安全、访问以及...
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章 管理外围安全、访问以及...
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章 管理外围安全、访问以及...
介绍就不多说了,下边是部分目录,觉得有用的话就顶一个 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整...
2.3 运行安装程序和修改SQL Server安装 33 2.3.1 创建新的SQL Server实例 33 2.3.2 添加组件和实例 44 2.3.3 修复SQL Server 2008安装 44 2.3.4 升级SQL Server 2008版本 45 2.3.5 卸载SQL Server 45 ...
2.3 运行安装程序和修改SQL Server安装 33 2.3.1 创建新的SQL Server实例 33 2.3.2 添加组件和实例 44 2.3.3 修复SQL Server 2008安装 44 2.3.4 升级SQL Server 2008版本 45 2.3.5 卸载SQL Server 45 ...
2.3 运行安装程序和修改SQL Server安装 33 2.3.1 创建新的SQL Server实例 33 2.3.2 添加组件和实例 44 2.3.3 修复SQL Server 2008安装 44 2.3.4 升级SQL Server 2008版本 45 2.3.5 卸载SQL Server 45 ...
2.3 运行安装程序和修改SQL Server安装 33 2.3.1 创建新的SQL Server实例 33 2.3.2 添加组件和实例 44 2.3.3 修复SQL Server 2008安装 44 2.3.4 升级SQL Server 2008版本 45 2.3.5 卸载SQL Server 45 ...
一个简单的java编写,通过jdbc连接sqlserver数据库的代码,其中可以用config.txt来配置数据库连接,需要根据电脑情况,修改代码中的文件路径即可食用。此代码连接了数据库并且输出一个student表。
但这些在线操作并非真正的在线操作,因为在操作开始时,SQL Server需要获得共享表锁(Shared Table Lock (S) ),在操作结束时需要在对应表上获得架构修改锁(Schema Modification Lock (Sch-M) )。因此这些操作是...
本文构成比较简单一、用SQL语句新建数据库二、模式(SCHEMA)的定义与删除1. 定义模式2. 删除模式三、基本表的定义、删除与修改1. 创建基本表2. 修改基本表3. 删除基本表 一、用SQL语句新建数据库 用SQL语句新建一个...
用于创建和更改SQL数据库表的扩展。 该插件为PHP Fat-Free Framework提供了一个SQL表模式构建器。 这对于安装脚本,动态应用程序或CMS环境可能很有用。 当前支持并完全测试了MySQL,SQLite,PostgreSQL和SQL ...
薪资管理系统这是一个使用Java和Microsoft SQL ... 设置: 执行sql文件夹中的“ schema.sql”文件。 将文件夹作为netbeans项目打开。 配置您的ODBC数据源: 打开ODBC数据源管理器。 添加一个新的数据源。 选择“ SQL
db2采用cdc同步数据,当表结构需要发生变动时操作步骤
分离主体与架构 以前的版本,如SQL Server 2000,提供有CREATE SCHEMA语句,但是由于在用户和架构之间的隐式关系不能被更改或删除,所以它并没有 任何有效的用途。实际上,这种关系是如此紧密以至于很多SQL Server ...
│ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整tempdb数据库的文件属性.sql │ ├─第02章 │ │ 2.1 日期概念理解中的一些测试.sql │ │ ...
在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计函数中的字段,不能和普通的字段放在一起; 13、对数据库进行操作: 分离数据库: sp_detach_db; 附加数据库:sp_attach_db 后...
SQL射击 更改数据库控制版本控制您SQL脚本一致,有序的部署变更历史记录平台类支持的数据库PostgreSQLSQL服务器SQLite的客户群开始使用社区加入SQL Shoot社区! 观看此重新发布以获取有关最新版本的警报加入GitHub...
====20130703==== ...1.说明: 这是一个用wabacus4.1开发的系统(此次升级支持sqlserver和oracle)(wabacus4.1+tomcat6+jdk1.6+...5.此次升级支持sqlserver2008和oracle,请根据数据库类型选择对应的脚本,并修改程序的数据源