【问题标题】:System.Data.SqlClient.SqlException when try to run script SQL from C# code尝试从 C# 代码运行脚本 SQL 时出现 System.Data.SqlClient.SqlException
【发布时间】:2015-02-16 08:52:15
【问题描述】:

我已经安装了 SQL Server 2012 Express。我正在用这个和 Server 2008 Express 做一些测试。

2008 年,一切正常。但是到了 2012 年,我遇到了一些麻烦。

我在我的 c# 应用程序中使用它,代码如下:

t = server.ConnectionContext.ExecuteNonQuery("SELECT * FROM sys.server_principals");

上面一行中的查询只是我做的一个测试,在我需要的脚本出现错误之后。

但是,这也会得到同样的错误:修改文件失败。指定的大小小于或等于当前大小。但为什么?我看到这个错误是在对日志进行某些操作时出现的......或者没有?

为什么会出现此错误?登录数据正确。这是一个新的安装,所以我以sa 登录(然后脚本将创建一个新用户)。

相同的脚本与 SQL Server 2008 Express 完美配合。我不明白为什么 2012 年是这样的……我错过了什么?此外,我使用相同的参数从命令行安装了 2008 和 2012:

/q /hideconsole /action=Install /features=SQL /instancename=SQLEXPRESS 
/securitymode=SQL /sapwd=xxx /enableranu=1 /sqlsvcaccount="NT Authority\Network Service" 
/AddCurrentUserAsSqlAdmin /IAcceptSqlServerLicenseTerms  
/skiprules=RebootRequiredCheck

无论如何,我要运行的脚本是(但是,正如我所说,上面的简单 SQL 也会导致错误):

IF NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = ****')
    CREATE LOGIN [icaddb] 
       WITH PASSWORD = '****', DEFAULT_DATABASE = [master],   
       DEFAULT_LANGUAGE = [us_english], CHECK_EXPIRATION = OFF, CHECK_POLICY = ON
GO

EXEC sys.sp_addsrvrolemember @loginame = ****', @rolename = N'sysadmin'
GO

编辑:

【问题讨论】:

  • 您是否尝试过从 SQL Server Management Studio(或类似工具)运行相同的命令?这将表明问题是否与您的程序有关。
  • 您的脚本中有任何 ALTER / CREATE DATABASE 吗?
  • 是的,创建数据库

标签: c# sql sql-server sql-server-2008 sql-server-2012


【解决方案1】:

问题是这样的:

CREATE DATABASE [IN4MATICSystemSCRIPT_TEST2] 
GO
ALTER DATABASE IN4MATICSystemSCRIPT_TEST2 MODIFY FILE 
( NAME = N'IN4MATICSystemSCRIPT_TEST2' , SIZE = 8384KB , MAXSIZE =     UNLIMITED, FILEGROWTH = 1024KB )
GO
ALTER DATABASE IN4MATICSystemSCRIPT_TEST2 MODIFY FILE 
( NAME = N'IN4MATICSystemSCRIPT_TEST2_log' , SIZE = 24384KB , MAXSIZE =     2048GB , FILEGROWTH = 10%)
GO

解决了删除这些行的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 2022-10-08
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    相关资源
    最近更新 更多