我想用程序实现远程创建数据库。create database 数据库名  能在本机上创建数据库;使用查询分析器  create database 数据库名  也能在远程服务器上创建数据库,但是想利用程序来远程创建数据库却不能实现,错误提示:用户(null)登陆失败,原因:未与信任SQL Server 连接相关联。请问各位是什么原因,该怎么做才能实现远程创建数据库

解决方案 »

  1.   

    就是用create database 数据库名 语句创建,是用什么用户连接远程数据库服务器的?要确保这个用户有权限创建数据库
      

  2.   

    是登陆远程数据库服务器的SA级别的用户登陆的,以同样的用户登陆到查询分析器用create  database  数据库名 能远程创建了数据库,这个用户是肯定有权限创建数据库的,但是还不行,为什么?
      

  3.   

    刚刚弄好,呵呵.使用SQL-DMO.
    连接到数据库,执行sql语句就可以了.
     IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'hcmsDemo')
     DROP DATABASE [hcmsDemo]
     GO
     CREATE DATABASE [hcmsDemo] 
     GO就可以了远程建了, 
    有个问题就是,
    如果我在这里指定了要创建的数据库的大小和创建路径什么的,,
    远程创建就会失败,,本地创建不会有任何问题,,是权限的问题吗??
    请下面的高手给予解答,,
    谢谢!!
      

  4.   

    USE master
    GO
    -- To use named parameters:
    EXEC sp_addlinkedserver
       @server = 'LONDON Mktg',
       @srvproduct = 'Oracle',
       @provider = 'MSDAORA',
       @datasrc = 'MyServer'
    GO
    -- OR to use no named parameters:
    USE master
    GO
    EXEC sp_addlinkedserver 
       'LONDON Mktg', 
       'Oracle', 
       'MSDAORA',
       'MyServer'
    GO
    EXEC sp_addlinkedsrvlogin 'LONDON Mktg','false','sa','SYSTEM','means'
    create MyLink.数据库exec sp_dropserver 'MyLink','droplogins'
    --删除数据库