标签: sql-server

空的 SQL Server 2000 LDF 文件

我有一个 1 GB.LDF的测试数据库,我想将其缩小。如果需要,我很乐意删除其内容。

如何为 SQL Server 2000 执行此操作?

我尝试了以下方法但无济于事:

BACKUP LOG Database_TEST with truncate_only
DBCC SHRINKFILE (Database_TEST_Log, 1000)
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2000

1
推荐指数
1
解决办法
1280
查看次数

SQL Server 2012 Express:如何限制数据库的大小和保留策略?

我不经常使用数据库,我想确保我以正确的方式处理这个问题。

我想将数据库的文件大小配置为不超过 9 个演出。当数据库达到此文件大小限制时,我希望它清除 25%% 的最旧记录以容纳新记录。

这是我可以/应该在数据库服务器本身上配置的东西,比如一次性最大设置配置,还是必须由更新数据库的程序来处理(它会检查容量并告诉它何时清除记录)。

我不是 DBA,所以我不确定这通常是如何处理的。

sql-server sql-server-2012

1
推荐指数
1
解决办法
1万
查看次数

事务隔离级别的隐式更改如何、何时以及为何发生?

RCSI(读提交快照隔离)是更改 SQL Server 中(默认)读提交隔离级别行为的数据库设置。

据我了解,这是 MSDN 博客文章“并发系列:最小化更新程序之间的阻塞”中的 sripts 的上下文,它告诉我们:

  • “使用 RCSI 的第二个技巧也不起作用,并且更新被行上的 session-1 阻塞在 X 锁后面,(C1 = 1)。原因是以下 UPDATE 语句在比读取提交更高的隔离级别执行。

    update basic_locking set c2 = 1000 where c1 = 2

    这是显示阻塞的输出

    TA 的隐式提升是水平

    解决方案:这里有两个选择来解决这个问题:”

“输出”如何说明隐式默认隔离级别(已提交读)的隐式提升?

如何在某些语句的上下文中检查真正的隔离级别“跳跃”?

什么时候期待它们,它们为什么会发生?

sql-server concurrency transaction locking isolation-level

1
推荐指数
1
解决办法
309
查看次数

LDF 文件中的日志是否在检查点后被删除?

使用fn_dblog我可以获得我的数据库的在线事务日志的活动部分。

但是在每个检查点之后,我只能看到 2 个条目显示检查点的开始和检查点LOP_BEGIN_CKPT的结束LOP_END_CKPT

我想知道之前的日志是在每个检查点之后删除还是只是因为dbi_checkptLSN位于引导页面中的值指示最新的 LSN而被忽略?

如果dbi_checkptLSN是我能够移动该指标的结果,如果是,如何移动?

如果没有,并且没有删除日志,我如何访问以前的日志?

sql-server checkpoint

1
推荐指数
1
解决办法
935
查看次数

如何防止sql server中的另一个用户删除sysadmin用户

我在我的服务器上安装了一个遗留应用程序,该应用程序配置为仅与一个用户“sa”一起工作,并且在此应用程序中编写了类似定时炸弹的脚本,只要它找到另一个用户,它就会毫不费力地删除该用户。

我们需要使用另一个应用程序访问数据库,并且“sa”的密码丢失,因此剩下的唯一方法是创建另一个具有系统管理员权限的用户。

但由于脚本删除了所有用户,我不能做任何特别的事情,所以我的问题是:

每次尝试删除我的用户时,如何阻止该脚本或回滚其工作?

trigger sql-server rollback

1
推荐指数
1
解决办法
706
查看次数

如何将值表从 SSIS 传递给存储过程?

我对 SSIS 真的很陌生,所以我为“愚蠢”的问题道歉。我知道开放式的“最佳实践”问题很不受欢迎,所以我会尽量具体。

我有一个基本的 SSIS 包,它将数据从一个 SQL 数据库移动到另一个 SQL 数据库。在数据流任务部分中,只有很少的数据转换和一个过滤器在进行。我一直试图想出一种将数据写入目的地的好方法,但它不能直接进入“最终”表(就像我在数据流目的地任务中所做的那样)。我更愿意将它作为变量传递给存储过程。我看到两个选项,我都不喜欢这两个选项:

  1. 我可以使用 OLE DB 命令并逐行循环我的数据,为每个数据运行存储过程。
  2. 我可以将数据写入临时表并从控制流部分调用存储过程。

对于选项 1,必须遍历每个数据行似乎非常糟糕。有没有办法调用存储过程并传递给它一个表?

我在工作中有人告诉我不要使用临时表,所以选项 2 似乎不在表中。我想如果我有理由使用选项 2,作为“最佳实践”,我可能能够说服他们让我以这种方式加载数据。

我错过了什么吗?有没有其他方法可以解决这个问题?如果您能在答案中附上原因,将不胜感激,因为我正在尝试理解押韵和原因。

编辑:为了澄清,我试图找到一种传递表值参数的好方法。

sql-server-2008 sql-server ssis

1
推荐指数
1
解决办法
5220
查看次数

将 SQL Server 2000 数据库导出到 Server 2012

我有一个运行 Windows Server 2000 的生产环境和一个使用 SQL Server 2012 的开发环境。我需要更新数据库并使用 .ASP 实现一些新功能。有没有办法导出2000的数据库,然后导入到2012?我能找到的只是这个关于将数据库转移到 2008 年的 MS 支持文档。

http://support.microsoft.com/kb/962355

sql-server export sql-server-2012

1
推荐指数
1
解决办法
1万
查看次数

将 SQL Server 脚本化为多个 SQL 脚本

我有一个包含 2GB 数据的 SQL Sever 表。我可以为文件创建脚本。但是脚本文件没有打开。我想将该脚本文件拆分为多个脚本文件。

sql-server

1
推荐指数
1
解决办法
3286
查看次数

即使模型设置为 false,自动关闭属性也会在附加 db 后重置为 true

我正在使用 SQL Server Express 2008 R2。新创建的数据库的自动关闭属性将设置为与模型 db 相同的值。在我的例子中,我已经将模型的 autoclose 设置为 false,这样当我创建一个新数据库时,它也会将 autoclose 设置为 false。

如果我将自动关闭设置为 false 的数据库分离然后附加它,则自动关闭设置为 true。我期望 autoclose 为假,因为它将从模型数据库继承其属性。在我的情况下,分离和附加数据库会导致 autoclose 属性设置为 true。

为什么会这样?这个问题有什么解决办法吗?

database-design sql-server sql-server-2008-r2

1
推荐指数
1
解决办法
2235
查看次数

数据库恢复模型 - 简单与完整

SIMPLE 恢复模型是否执行与 FULL 恢复模型相同的事务日志记录?即保留每个插入/更新/删除事务的记录?

如果是这种情况,那么为什么要使用 FULL Recovery 模式?在 SIMPLE Recovery 中,检查点每分钟在繁忙的数据库上运行一次,因此数据被写入磁盘。

在 SIMPLE 恢复模型中,数据丢失可能发生在哪里?

谢谢!

sql-server disaster-recovery

1
推荐指数
1
解决办法
804
查看次数