sqlserver怎么设置允许远程连接(sqlserver远程访问设置)

sqlserver怎么设置允许远程连接(sqlserver远程访问设置),第1张

一、首先是要检查SQLServer数据库服务器中是否允许远程链接。其具体 *** 作为:

1、打开数据库,用本地帐户登录,右击第一个选项,选择属性

2、在打开的属性窗口,在其右边点击“连接”,然后再左侧勾上“允许远程连接到此服务器”

二、为微软SQL服务器(MSSQLServer)配置相应协议。

1、依次选择:开始-〉所有程序-〉MicrosoftSQLServer2008-〉配置工具-〉SQLServer配置管理器

2、打开SQLServer配置管理器后,选择SQLServer网络配置下面的MSSQLSERVER,然后看右边里面的TCP/IP是否为“已启用”

三、检查SQL服务器防火墙设置(快捷步骤-直接关闭防火墙(不安全))

1、在进行完上两步 *** 作后,用户需要做的是对SQL服务器防火墙进行重新配置。在进行这一步 *** 作时,首先找到SQL服务器上那个端口支持TCP/IP协议。用户可以在SQL服务器防火墙已经处于运行状态下,右击“TCP/IP协议”选择“属性”:

SQL服务器上支持TCP/IP协议的是1433端口。下一步要做的是在防火墙的配置中允许1433端口支持TCP/IP协议即可。如果服务器上运行的是Windows7 *** 作系统,其配置步骤为(其他微软 *** 作系统的做法类似),打开“控制面板”选择“Windows防火墙”选项,然后点击高级选项

2、选择“高级设置”后,在右边菜单栏中找出“具有高级安全选项的Windows防火墙”并将其打开。打开后会发现在左边菜单栏中有“入站规则(InboudRules)”选项。将该选项打开,并在右边菜单栏中选择“新建规则(NewRule)”选项

3、打开“新建规则”选项后,利用“新内置绑定规则向导”为1433端口配置“内部绑定协议”配置为适用于TCP/IP协议即可。(前提是,需要完成该步骤以前所述的所有步骤)

最后点击“完成”即可。测试方法:在局域网内找一台电脑,打开SQLServer数据库,然后输入Ip和密码,如果能连接上,就说明已经配置好了

可是提交到服务器之后,一切显地都无比陌生。因为不熟悉SQL,准确来说就只会点Select,Update,Delete,Insert而已。昨天不小心误删了一张数据不多但是不在人工处理范围内的一张表内的数据。因为知道SQL Server是有日志这种东西的,事后我表现地无比淡定,在事发一个小时以内。一个小时之后,我发现我无法掌控这一事件了。上网查找了恢复数据的办法。有必要啰嗦一下。 问题1:无论是远程端还是服务器端,都无法对数据库(假设数据库叫Test)进行除‘增删查改’的其它 *** 作,譬如分离,脱机,还原错误提示是eg1 “无法分离 Test 数据库 因为它当前正在使用。”eg2 “因为数据库正在使用,未获得对数据的排他访问权, *** 作异常终止”反正嘛,就是说你丫不能阻止别人的访问。可我们就是要这样做的只好跟它说拜拜了。 说拜拜的方法就是关掉所有访问数据库Test的进程。createproc killspid (@dbnamevarchar(20))asbegindeclare@sqlnvarchar(500)declare@spidintset@sql='declare getspid cursor for select spid from sysprocesses where dbid=db_id('''+@dbname+''')'exec(@sql)open getspidfetchnextfrom getspid into@spidwhile@@fetch_status-1beginexec('kill '+@spid)fetchnextfrom getspid into@spidendclose getspiddeallocate getspidend--用法use masterexec killspid '数据库名'PS:代码我是这样理解的,定义一段杀死访问数据库进程的存储过程。写一段获取进程ID的代码,循环杀死每一个进程。最后调用存储过程。虽然不了解存储过程,但是意思就是这样的吧。问题2:没有备份数据库,那该如何恢复数据呢有个软件叫做Log Explorer 这个东西可以根据数据库的日志回到过去的任何一个时刻。View Code Log Explorer for SQL Server 是个好东西,但是这根本无法解决我的问题。数据库在服务器端,学校根本不会让我安装一个软件在服务器上面。而且我证实过,这个软件必须要在服务器端装服务器端软件的。所以,这个对于我来说,是泡汤的。但是不代表这不是一个利器。 最后我用了一个很蛋疼的方法解决了。1分离数据库,备份一个Test;2将数据库附加回去,用自带的恢复方式恢复到一个很久以前的状态;3将需要的那张表复制到备份的那个数据库;4将备份的那个数据库挂回去,原数据库删了。 这是一个很蛋疼而且碰巧那张表没被改的方法。头一次知道DBA的重要性。我的方法是一个很偶然的东西,希望大家分享一下真正能解决恢复问题的办法。当然,每隔一段时间备份是绝对没有错的。 方法 另外发现一个比较有技术性的可行的方法 1,如果误 *** 作之前存在一个全库备份(或已有多个差异备份或增量备份),首先要做的事就是进进行一次日志备份 (如果为了不让日志文件变大而置trunc log on chkpt选项为1那你就死翘了)backuplog dbName todisk='fileName'----注意:是日志备份! 2,恢复一个全库备份,注意需要使用with norecovery,如果还有其他差异或增量备份,则逐个恢复restoredatabase dbName fromdisk='fileName'with norecovery 3,恢复最后一个日志备份即刚做的日志备份,指定恢复时间点到误 *** 作之前的时刻restorelog dbName fromdisk='fileName'with stopat='date_time' 完整代码View Code 经过验证,这才叫有技术性!我那纯属“邓艾的屯‘田’”小孩子过家家。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13209314.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-20
下一篇 2023-06-20

发表评论

登录后才能评论

评论列表(0条)

保存