最近我们有一个 SQL 作业插入到数据库中。该查询已不必要地运行了几天,因此使用 KILL SPID 将其终止。然后这个过程开始回滚好几天,似乎只是挂在那里。
运行 KILL SPID WITH STATUSONLY 给出一条消息,指出“估计完成”为 100%,“估计剩余时间”为 0 秒。
最终,我们不得不重新启动删除该进程的 SQL 服务。
我的问题是 - 你应该如何杀死 SQL 进程?这是唯一的方法吗?
是否可以生成指定数据库中没有主键的所有表的列表?
这是 SQL Server 2005。
我有一个 Sql Server 数据库,它有几个行数为零的表,但总共占用了 10 GB 的空间。我可以通过在有问题的表上右键单击/属性来看到这一点(数据空间很大,在 1 到 6 GB 之间,这些表上的行数为零)。我不知道是什么导致了这种情况,因为我认为零行意味着占用的空间几乎为零。
有任何想法吗?
我现在正在将我公司的数据库服务器从 Windows 2000/Sql Server 2000 更改为 Windows 2003 R2/Sql Server 2005。它拥有 30 个数据库,每个数据库的大小约为 7gb,但其中一个是 30gb。现在我想知道我是否应该利用这个机会在这个数据库上使用文件组。但是我以前没用过,不知道数据库的内容那么好。但它是一个经济系统,所以我认为在过去 8 年的生产中,它包含大量历史“只读”信息。
谁能给我一些关于我是否应该拆分它的提示和技巧?我现在有 2 个单独的磁盘,一个用于日志文件,另一个用于数据库。
如果有人能给我一些意见,我将不胜感激:)
我需要在面向公众的生产服务器上配置 SQL Server 别名。为此,我需要安装 SQL Server 配置管理器。
我找不到一个独立的安装程序,所以我必须安装 SQL Server 2005 客户端组件。这种方法并不理想,因为我们不想在面向公众的生产服务器上使用 SSMS。
有没有办法在不安装 SQL Server Management Studio 的情况下安装 SQL Server 2005 配置管理器?
谢谢,
阿诺德
我们正在考虑对敏感数据使用 SQL Server 列(单元)级加密。当我们最初加密列时应该没有问题,但是我们要求每年加密密钥都需要更改。看来这个要求可能有问题。
假设:包含敏感数据列的表将有 5 亿条记录。
以下是我们考虑实施的步骤。加解密过程中数据是在线的,这个过程需要多长时间?
问题:列解密/加密时数据是否在线(可以查询)?SQL Server 是否提供允许在数据在线时进行关键更改的功能?
酒吧开发者
嘿,目前有一个数据库在将其设置为单模式后卡在单模式下尝试尝试离线,我希望我从来没有这样做过....
我试过
ALTER DATABASE DB SET MULTI_USER
但得到
消息 5064,级别 16,状态 1,第 1 行此时无法更改数据库“DB”的状态或选项。数据库处于单用户模式,当前有用户连接到它。消息 5069,级别 16,状态 1,第 1 行 ALTER DATABASE 语句失败。
当我右键单击数据库转到 ie 属性时,我得到
Database "DB" is already open and can only have one user at a time.
有任何想法吗 ?
我注意到 SQL Server 有大量的写入 \System Volume Information\{guid1}{guid2}
当这样的事情发生时,Sql Server 在做什么?

在上图中,我对 sqlsevr.exe 的写入 IO 的一半用于系统卷信息写入。
这是在 Windows 7 专业版中运行的。
这是输出 vssadmin list shadows
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2005 Microsoft Corp.
Writer name: 'Task Scheduler Writer'
Writer Id: {d61d61c8-d73a-4eee-8cdd-f6f9786b7124}
Writer Instance Id: {1bddd48e-5052-49db-9b07-b96f96727e6b}
State: [1] Stable
Last error: No error
Writer name: 'VSS Metadata Store Writer'
Writer Id: {75dfb225-e2e4-4d39-9ac9-ffaff65ddf06}
Writer Instance Id: {088e7a7d-09a8-4cc6-a609-ad90e75ddc93}
State: [1] Stable
Last error: No error
Writer name: 'Performance …Run Code Online (Sandbox Code Playgroud) 我正在继承一个有 400 个表和仅注册 150 个外键约束的数据库。知道我对应用程序做了什么并查看了表格列,很容易说应该还有更多。
如果我开始添加丢失的 FK,我担心当前的应用程序软件会崩溃,因为开发人员可能已经开始依赖这种“自由”,但是解决问题的第一步是提出丢失的 FK 的列表,因此我们可以作为一个团队来评估他们。
更糟糕的是,引用列不共享命名约定。
这些关系被非正式地编码到数百个即席查询和存储过程中,所以我希望以编程方式解析这些文件,以寻找实际表(但不是表变量等)之间的联接。
我在这种方法中预见的挑战是:换行符、可选别名和表提示、别名解析。
我有一台当前运行 SQL Server 2005 Express 的服务器,我需要恢复开发人员使用 SQL Server 2008 R2 修改过的数据库备份 [我认为是完整版,但仍在等待回听它是完整版还是表达]。
我知道我无法将数据库从 SQL Server 2008 R2 恢复到 SQL Server 2005 Express,我知道我什至无法将数据库从 SQL Server 2008 R2 恢复到 SQL Server 2008。但是!我可以将数据库从 SQL Server 2008 R2 还原到 SQL Server 2008 R2 Express 吗?这里唯一的区别是一个是全额付费版本,另一个是快速版本。如果是这样,我会将 SQL Server 2005 Express 服务器更新为 2008 R2 Express。
提前致谢!
backup-restoration sql-server-2005 sql-server-2008 sql-server-2008-r2
sql-server-2005 ×10
sql-server ×5
sql ×2
alias ×1
encryption ×1
foreign-key ×1
kill ×1
parsing ×1