无法使用 sp_dboption 在 SQL Server 2005 数据库上启用 select into/bulkcopy

发布于 2024-10-16 20:30:39 字数 492 浏览 4 评论 0原文

我正在尝试使用以下命令在 SQL Server 2005 数据库上启用 select into/bulkcopy 数据库选项:

EXEC sp_dboption 'mydbname', 'select into/bulkcopy', 'true'

执行上述命令后,运行 EXEC sp_dboption 'mydbname', 'select into/bulkcopy' 告诉我该选项仍设置为“关闭”。

我已确认我的 Windows 登录名是数据库中的用户,并且属于 db_owner 角色。已阅读 sp_dboption 的 MSDN 文档 ,这似乎是使用该过程更改数据库选项的唯一先决条件。

我是否缺少任何其他步骤或设置可能会阻止我启用此选项?

I am trying to enable the select into/bulkcopy database option on a SQL Server 2005 database using the command:

EXEC sp_dboption 'mydbname', 'select into/bulkcopy', 'true'

After executing the above, running EXEC sp_dboption 'mydbname', 'select into/bulkcopy' tells me that the option is still set to OFF.

I've confirmed that my Windows login is a user in the database and that it belongs to the db_owner role. Having read the MSDN Documentation for sp_dboption, this appears to be the only prerequisite for using the procedure to change options on a database.

Are there any other steps or settings I am missing that could prevent me from being able to enable this option?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

奶气 2024-10-23 20:30:39

该过程已被弃用。您可以使用

 ALTER DATABASE [mydbname] SET RECOVERY BULK_LOGGED WITH NO_WAIT

如果您的数据库当前处于<​​code>SIMPLE恢复模式,这似乎会发生。

查看 sp_dboption 过程定义,相关代码位是

    if @alt_optvalue = 'ON'
    begin
        if databaseproperty(@dbname, 'IsTrunclog') = 1
            select @alt_optvalue = 'RECMODEL_70BACKCOMP'
        else
            select @alt_optvalue = 'BULK_LOGGED'
    end

运行 ALTER DATABASE [mydbname] SET RECOVERY RECMODEL_70BACKCOMP WITH NO_WAIT 的效果似乎是将恢复模型设置为 < code>SIMPLE 所以基本上在这种情况下没有效果

That procedure is deprecated. You can use

 ALTER DATABASE [mydbname] SET RECOVERY BULK_LOGGED WITH NO_WAIT

This seems to happen if your DB is currently in SIMPLE recovery model.

Looking at the sp_dboption procedure definition the relevant bit of code is

    if @alt_optvalue = 'ON'
    begin
        if databaseproperty(@dbname, 'IsTrunclog') = 1
            select @alt_optvalue = 'RECMODEL_70BACKCOMP'
        else
            select @alt_optvalue = 'BULK_LOGGED'
    end

The effect of running ALTER DATABASE [mydbname] SET RECOVERY RECMODEL_70BACKCOMP WITH NO_WAIT seems to be to set the recovery model to SIMPLE so basically it has no effect in this instance

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文