none
为什么在“Win7/64Bit + SQL 2005 Express”的组合中,无法建立数据库 RRS feed

  • 问题

  • 各位前辈:

    新装的Windows 7/64Bit + SQL2005 Express + SP3
    但是在SQL Management Studio Express中,点击右键选择"新建数据库",在输入数据库名称,并且点击“确认”以后,系统提示无法建立数据库,这是为何呢?
    难道还有什么补丁需要安装吗?

    如果哪位老大曾经经历过这等事件,望明示!
    在此先提前谢谢各位了。


    一派胡言
    2010年1月28日 5:16

答案

  • 你是什么身份登陆 sql server的?

    注意错误:在数据库 'master' 中拒绝了 CREATE DATABASE 权限! 表示你没权限建立数据库。

    建议使用sa登陆数据库重新尝试。


    family as water
    2010年1月28日 7:02
  • 仔细看这个错误:

    System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。系统找不到指定的文件。


    Microsoft.SqlServer.BatchParser 这个有么?
    family as water
    2010年1月28日 7:51

全部回复

  • 比如,如果要建立一个名为“OK”的数据库,系统将提示如下的这些错误:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    标题: Microsoft SQL Server Management Studio Express
    ------------------------------

    创建 对于 数据库“ok”失败。  (Microsoft.SqlServer.Express.Smo)

    有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.4035.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=创建+Database&LinkId=20476

    ------------------------------
    其他信息:

    执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.Express.ConnectionInfo)

    ------------------------------

    在数据库 'master' 中拒绝了 CREATE DATABASE 权限。 (Microsoft SQL Server,错误: 262)

    有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4053&EvtSrc=MSSQLServer&EvtID=262&LinkId=20476

    ------------------------------
    按钮:

    确定
    ------------------------------
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    一派胡言
    2010年1月28日 6:46
  • 你是什么身份登陆 sql server的?

    注意错误:在数据库 'master' 中拒绝了 CREATE DATABASE 权限! 表示你没权限建立数据库。

    建议使用sa登陆数据库重新尝试。


    family as water
    2010年1月28日 7:02
  • 你是什么身份登陆 sql server的?

    注意错误:在数据库 'master' 中拒绝了 CREATE DATABASE 权限! 表示你没权限建立数据库。

    建议使用sa登陆数据库重新尝试。


    family as water


    谢谢这位哥们的提醒。

    在“SQL Server外围应用配置器”中,将“SQL Server SysAdmin 角色成员 on SQLEXPRESS”添加到当前的用户中以后,在“SQL Management Studio Express”环境下,已经能够成功地建立数据库了。

    但是新的问题又出来的,请看下面的这段C#代码:

       //connect to the SQL server
       String szHostname = Dns.GetHostName();
       Server dataServer = new Server(szHostname + "\\SQLEXPRESS");
       if (dataServer.State != SqlSmoState.Existing) return;

       //create a database on the server
       Database dataOpenDup = new Database(dataServer, "OK");
       dataServer.Databases.Add(dataOpenDup);
       dataOpenDup.Create();

    它尝试在SQL Server 中,建立一个名为“OK”的数据库。
    这段代码在"Vista/32bit + VS2008Pro + SQL 2005Express" 环境下,一切正常。
    而在"Win7/64bit + VS2008Pro + SQL2005 Express"环境下,到最后一行“dataOpenDup.Create()”时崩溃,提示信息如下,又是咋回事呢?
    -----------------------------------------------------------------------------------------------------------------------------------

    有关调用实时(JIT)调试而不是此对话框的详细信息,
    请参见此消息的结尾。

    ************** 异常文本 **************
    Microsoft.SqlServer.Management.Smo.FailedOperationException: 创建 对于 数据库“OK”失败。  ---> System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。系统找不到指定的文件。
    文件名:“Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”
       在 Microsoft.SqlServer.Management.Common.ServerConnection.GetStatements(String query, ExecutionTypes executionType, Int32& statementsToReverse)
       在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
       在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
       在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
       在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImplFinish(StringCollection createQuery, ScriptingOptions so)
       在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl()

    警告: 程序集绑定日志记录被关闭。
    要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
    注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
    要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。

       --- 内部异常堆栈跟踪的结尾 ---
       在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl()
       在 WindowsFormsApplication1.Form1.btnCreate_Click(Object sender, EventArgs e) 位置 D:\Project\Study\SQL\WindowsFormsApplication1\Form1.cs:行号 31
       在 System.Windows.Forms.Control.OnClick(EventArgs e)
       在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       在 System.Windows.Forms.Control.WndProc(Message& m)
       在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
       在 System.Windows.Forms.Button.WndProc(Message& m)
       在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** 已加载的程序集 **************
    mscorlib
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
    ----------------------------------------
    WindowsFormsApplication1
        程序集版本: 1.0.0.0
        Win32 版本: 1.0.0.0
        基本代码: file:///D:/Project/Study/SQL/WindowsFormsApplication1/bin/Debug/WindowsFormsApplication1.exe
    ----------------------------------------
    System.Windows.Forms
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Configuration
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Xml
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    Microsoft.SqlServer.Smo
        程序集版本: 9.0.242.0
        Win32 版本: 9.00.4035.00
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.SqlServer.Smo/9.0.242.0__89845dcd8080cc91/Microsoft.SqlServer.Smo.dll
    ----------------------------------------
    Microsoft.SqlServer.ConnectionInfo
        程序集版本: 9.0.242.0
        Win32 版本: 9.00.4035.00
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.SqlServer.ConnectionInfo/9.0.242.0__89845dcd8080cc91/Microsoft.SqlServer.ConnectionInfo.dll
    ----------------------------------------
    System.Data
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
    ----------------------------------------
    microsoft.sqlserver.smo.resources
        程序集版本: 9.0.242.0
        Win32 版本: 9.00.4035.00
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.SqlServer.Smo.resources/9.0.242.0_zh-CHS_89845dcd8080cc91/Microsoft.SqlServer.Smo.resources.dll
    ----------------------------------------
    System.Transactions
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/assembly/GAC_64/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
    ----------------------------------------
    System.EnterpriseServices
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/assembly/GAC_64/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
    ----------------------------------------
    Microsoft.SqlServer.SmoEnum
        程序集版本: 9.0.242.0
        Win32 版本: 9.00.4035.00
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.SqlServer.SmoEnum/9.0.242.0__89845dcd8080cc91/Microsoft.SqlServer.SmoEnum.dll
    ----------------------------------------
    Microsoft.SqlServer.SqlEnum
        程序集版本: 9.0.242.0
        Win32 版本: 9.00.4035.00
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.SqlServer.SqlEnum/9.0.242.0__89845dcd8080cc91/Microsoft.SqlServer.SqlEnum.dll
    ----------------------------------------
    System.Windows.Forms.resources
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_zh-CHS_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------
    mscorlib.resources
        程序集版本: 2.0.0.0
        Win32 版本: 2.0.50727.4927 (NetFXspW7.050727-4900)
        基本代码: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
    ----------------------------------------

    ************** JIT 调试 **************
    要启用实时(JIT)调试,
    该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
    jitDebugging 值。
    编译应用程序时还必须启用
    调试。

    例如:

    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>

    启用 JIT 调试后,任何无法处理的异常
    都将被发送到在此计算机上注册的 JIT 调试器,
    而不是由此对话框处理。

    -----------------------------------------------------------------------------------------------------------------------------------


    一派胡言
    2010年1月28日 7:43
  • 仔细看这个错误:

    System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。系统找不到指定的文件。


    Microsoft.SqlServer.BatchParser 这个有么?
    family as water
    2010年1月28日 7:51
  • 谢谢您的帮助!
    通过搜索,发现这个文件在系统中存在。

    现在这个问题基本上已经解决了,我发现了问题的现象,也许是微软的一个“Bug”。

    在前面的代码中,只要将代码生成的属性改为“x86”,就一起正常了。
    如果将属性改为“x64”,则有前面提到的那些错误。

    由于系统所设置的缺省属性为“Any CPU”,因此在”Win7/64Bit“的开发环境下,相当于“x64”。
    我不知道是其他的地方还需要设置,还是微软的一个BUG?



    一派胡言
    2010年1月28日 8:18