link server貌似是实例级别的,具体的库要独立授权,你三个库都在一个实例上的话一个link server就够了,当然搞3个也不抱错。还有存储过程被加锁了,怎么解开呢???
加锁是指解密?如果是,网上可能有一些手段,不过不保证能完全解密

解决方案 »

  1.   

    QPAccountsDBLink服务器、QPGameMatchDBLink服务器、QPGameScoreDBLink服务器你的意思是建立3个连接服务器吗,这个是可以的
      

  2.   


    是啊,怎么添加啊!因为我用别人的服务器人家的sql语句都是加服务器+数据库,比如QPAccountsDBLink.QPAccountsDB.dbo.AccountsInfo这样的获取一个表。类似QPAccountsDBLink这样的东西有多个而且有的写在存储过程里,但是那个存储过程都加锁了
      

  3.   

    就是他们打存储过程就加了一些加密代码,
    例如:
    CREATE PROCEDURE [dbo].[usp_GetQueueOrder]
    @StaffId VARCHAR(36),
    @GroupId INT,
    @QueueNO INT
    WITH ENCRYPTION
     AS
    SELECT 
    COUNT(1)+1 NewOrder 
    FROM  
    Tbl_Queue 
    WHERE
    StaffId=@StaffId AND GroupId=@GroupId AND QueueNO<@QueueNO AND EndTime is null
    GO
    这怎么解开啊??
      

  4.   

    就是他们打存储过程就加了一些加密代码,
    例如:
    CREATE PROCEDURE [dbo].[usp_GetQueueOrder]
    @StaffId VARCHAR(36),
    @GroupId INT,
    @QueueNO INT
    WITH ENCRYPTION
     AS
    SELECT 
    COUNT(1)+1 NewOrder 
    FROM  
    Tbl_Queue 
    WHERE
    StaffId=@StaffId AND GroupId=@GroupId AND QueueNO<@QueueNO AND EndTime is null
    GO
    这怎么解开啊??你想看到这个存储过程中的源码是把,这个好像没办法,你得问他们要源码。我之前看到,如果是2000的系统,可以有代码能解密,可以获取源码的
      

  5.   


    是啊,怎么添加啊!因为我用别人的服务器人家的sql语句都是加服务器+数据库,比如QPAccountsDBLink.QPAccountsDB.dbo.AccountsInfo这样的获取一个表。类似QPAccountsDBLink这样的东西有多个而且有的写在存储过程里,但是那个存储过程都加锁了建立连接服务器:--建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
    EXEC master.dbo.sp_addlinkedserver @server = N'QPAccountsDBLink',
                                       @srvproduct='ms', 
                                       @provider=N'SQLNCLI',                                    
                                       @datasrc=N'远程ip地址,端口'EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'QPAccountsDBLink',
                                        @useself=N'False',
                                        @locallogin=NULL,
                                        @rmtuser=N'用户名',
                                        @rmtpassword='密码'
      
                                        
    --查询远程表
    select * 
    from [QPAccountsDBLink].远程数据库名.dbo.表
      

  6.   

    是啊,怎么添加啊!因为我用别人的服务器人家的sql语句都是加服务器+数据库,比如QPAccountsDBLink.QPAccountsDB.dbo.AccountsInfo这样的获取一个表。类似QPAccountsDBLink这样的东西有多个而且有的写在存储过程里,但是那个存储过程都加锁了建立连接服务器:--建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
    EXEC master.dbo.sp_addlinkedserver @server = N'QPAccountsDBLink',
                                       @srvproduct='ms', 
                                       @provider=N'SQLNCLI',                                    
                                       @datasrc=N'远程ip地址,端口'EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'QPAccountsDBLink',
                                        @useself=N'False',
                                        @locallogin=NULL,
                                        @rmtuser=N'用户名',
                                        @rmtpassword='密码'
      
                                        
    --查询远程表
    select * 
    from [QPAccountsDBLink].远程数据库名.dbo.表大哥,你的答案是对的,还有三个小问题?
    1.如果我不想用ip地址,因为我的就是本地啦,应该怎么写
    2.用什么sql语句或者怎操作可以看到我实例已经有多少个服务器名了。
    3.那个加密的存储过程真的没办法看到了吗??只能找人家要源码吗??
      

  7.   

    是啊,怎么添加啊!因为我用别人的服务器人家的sql语句都是加服务器+数据库,比如QPAccountsDBLink.QPAccountsDB.dbo.AccountsInfo这样的获取一个表。类似QPAccountsDBLink这样的东西有多个而且有的写在存储过程里,但是那个存储过程都加锁了建立连接服务器:--建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
    EXEC master.dbo.sp_addlinkedserver @server = N'QPAccountsDBLink',
                                       @srvproduct='ms', 
                                       @provider=N'SQLNCLI',                                    
                                       @datasrc=N'远程ip地址,端口'EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'QPAccountsDBLink',
                                        @useself=N'False',
                                        @locallogin=NULL,
                                        @rmtuser=N'用户名',
                                        @rmtpassword='密码'
      
                                        
    --查询远程表
    select * 
    from [QPAccountsDBLink].远程数据库名.dbo.表大哥,你的答案是对的,还有三个小问题?
    1.如果我不想用ip地址,因为我的就是本地啦,应该怎么写
    2.用什么sql语句或者怎操作可以看到我实例已经有多少个服务器名了。
    3.那个加密的存储过程真的没办法看到了吗??只能找人家要源码吗??1.如果你的实例,用的是默认的1433端口,那么可以不用ip,就直接用你的服务器名称2.用这个查询有多少的服务器名称:
    select *
    from sys.servers你看看这个图,可以直接看有多少连接服务器,可以删除,新建:
    3、这个最好是找人要源代码。