【问题标题】:sql permission issue when creating a database创建数据库时的sql权限问题
【发布时间】:2013-11-23 15:32:59
【问题描述】:

我已经制作了一个 c# 程序来在 localhost ms sql 中创建一个数据库,如下所示:

    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = "SERVER = " + serverName + "; DATABASE = master; Integrated Security=SSPI";

    string query = " CREATE DATABASE " + dbName + " ON PRIMARY "
                        + " (NAME = " + dataFileName + ", "
                        + " FILENAME = '" + schemaPath + "', "
                        + " SIZE = 2MB,"
                        + " FILEGROWTH = 10%) "
                        + " LOG ON (NAME =" + logFileName + ", "
                        + " FILENAME = '" + logFilePath + "', "
                        + " SIZE = 1MB, "
                        + " FILEGROWTH = 10%) ";

    try
    {
        conn.Open();
        SqlCommand sqlCmd = new SqlCommand(query, conn);
        sqlCmd.ExecuteNonQuery();
        Console.WriteLine("Database has been created successfully!");
    }
    catch (System.Exception ex)
    {
        Console.WriteLine("Failed to create the db. " + ex.ToString());
        Environment.Exit(1);
    }

它在我的电脑上运行良好,但在另一台机器上失败: 我确实拥有对我指定的文件夹的写入权限。

创建数据库失败。 System.Data.SqlClient.SqlException (0x80131904):文件的目录查找 "C:\Users\Administrator\Desktop\test2.mdf" 操作失败 系统错误 5(访问被拒绝。)。创建数据库失败。一些文件 无法创建列出的名称。检查相关错误。在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常, 布尔中断连接)在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔型 breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler、SqlDataReader 数据流、 BulkCopySimpleResultSet bulkCopyHandler, Tds ParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(字符串 方法名,布尔异步)在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult 结果,字符串方法名称,布尔值 sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 com.appneta.test.DB_DataLoader.createDB(String dbName)

有什么想法吗?

【问题讨论】:

  • 我也遇到了同样的问题,问题有进展了吗?

标签: sql sql-server


【解决方案1】:

当您说“我确实拥有对我指定的文件夹的写入权限”时。 - 感觉就像你在谈论你的用户。

您需要确保运行 SQL Server 的服务帐户对您尝试写入的文件夹路径具有写入权限。

【讨论】:

    【解决方案2】:

    您是否以管理员身份运行 Visual Studio?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 2017-11-02
      • 2010-12-10
      • 1970-01-01
      • 2011-09-04
      • 2017-04-20
      • 1970-01-01
      相关资源
      最近更新 更多