- cloudcone
-
1、mysql支持enum,和set类型,sql server不支持
2、mysql不支持nchar,nvarchar,ntext类型
3、mysql的递增语句是AUTO_INCREMENT,而mssql是identity(1,1)
4、mssql默认到处表创建语句的默认值表示是((0)),而在mysql里面是不允许带两括号的
5、mysql需要为表指定存储类型
6、mssql识别符是[],[type]表示他区别于关键字
7、mssql支持getdate()方法获取当前时间日期,但是mysql里面可以分日期类型和时间类型,获取当前日期是cur_date(),当前完整时间是 now()函数
8、mssql不支持replace into 语句,但是在最新的sql20008里面,也支持merge语法
9、mysql支持insert into table1 set t1 = ‘", t2 = ‘" ,但是mssql不支持这样写
10、mysql支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 mssql不支持limit语句,是非常遗憾的,只能用top 取代limt 0,N,row_number() over()函数取代limit N,M
12、mysql在创建表时要为每个表指定一个存储引擎类型,而mssql只支持一种存储引擎。
MS-SQL是甚_(mssqlserver是什么意思)
MSSQL是MicrosoftSQLServer的简称。MicrosoftSQLServer是一个数据库平台,其数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,叫SQLServer,之后三家公司分开独自开发。Microsoft将其称为MicrosoftSQLServer。SQLServer是Microsoft公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2012的大型多处理器的服务器等多种平台使用。MicrosoftSQLServer是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。MicrosoftSQLServer数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQLServer是一个关系数据库管理系统。它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。Sybase则较专注于SQLServer在UNⅨ操作系统上的应用。SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。2023-07-14 12:57:361
MSSQL讲解如何实现互联网上数据库的安全
设置Proxy Server和SQL Server实现互联网上的数据库安全:◆首先,我们需要了解一下SQL Server在WinSock上定义协议的步骤:1. 在”启动”菜单上,指向”程序/Microsoft Proxy Server”,然后点击”Microsoft Management Console”。2. 展开”Internet Information Service”,再展开运行Proxy Server的服务器。3. 右击WinSock Proxy service, 再点击属性。4. 在WinSock Proxy Service Properties For computername 对话框内, 点击Protocols, 再点击Add。5. 在Protocol name 文本框内, 输入复制分发服务器所在的计算机名称。6. 在 Port文本框内, 输入1433 。7. 在Type下面, 选择TCP, 在Direction下面, 选择Inbound.然后设置出版服务器/分发服务器和Proxy Server一起工作,在代理服务器上安装了Proxy Server以后,我们必须把出版服务器/分发服务器设置成Proxy Server客户。这就要求将SQL Server绑定到WinSock端口以便与Internet通讯。绑定到WinSock端口以便与Internet通讯,要设置出版服务器/分发服务器和Proxy Server一起工作,必须在运行SQL Server的服务器(出版服务器/分发服务器)上存在文件Mssql7BinnWspcfg.ini。假如这个文件并不存在,我们就必须用Notepad来创建一个。这个文件应当包括下面的内容:[sqlservr]ServerBindTcpPorts=1433Persistent=1KillOldSession=1SQL Server侦听Proxy Server服务端口1433上的连接请求。当授予SQL Server账号无限制访问权限时,任何用户、服务或匿名订阅者都能够请求SQL Server验证。可以在Proxy Server上设置端口1433的协议,只允许指定的IP地址建立连接。◆将SQL Server设置成Proxy客户在我们安装了Proxy Server后,就已经为文件夹C:MspClients创建了共享名mspclnt。运行这个文件夹中的Proxy 客户端设置程序,将SQL Server设置成Proxy客户。在安装完成后,SQL Server就是Proxy Server的内部客户了。◆运行Proxy 客户端设置程序的具体步骤:1. 在运行SQL Server的服务器上,点击开始,然后点击运行。2. 在打开下面,输入/servernamemspclnt,然后运行Proxy Server客户端设置程序。3. 安装结束后重启动计算机使设置生效。2023-07-14 12:57:431
MSSQL数据库系统安全框架与其各层安全技术
随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域,但随之而来产生了数据的安全问题。各种应用系统的数据库中大量数据的安全问题、敏感数据的防窃取和防篡改问题,越来越引起人们的高度重视。数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要,关系到企业兴衰、成败。因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为业界人士探索研究的重要课题之一,本文就安全防入侵技术做简要的讨论。数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安全框架可以划分为三个层次:(1)网络系统层次;(2)宿主操作系统层次;(3)数据库管理系统层次。这三个层次构筑成数据库系统的安全体系,与数据安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全。下面就安全框架的三个层次展开论述。1.网络系统层次安全技术从广义上讲,数据库的安全首先依赖于网络系统。随着Internet的发展和普及,越来越多的公司将其核心业务向互联网转移,各种基于网络的数据库应用系统如雨后春笋般涌现出来,面向网络用户提供各种信息服务。可以说网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持,数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。网络入侵试图破坏信息系统的完整性、机密性或可信任的任何网络活动的集合,具有以下特点:a)没有地域和时间的限制,跨越国界的攻击就如同在现场一样方便;b)通过网络的攻击往往混杂在大量正常的网络活动之中,隐蔽性强;c)入侵手段更加隐蔽和复杂。计算机网络系统开放式环境面临的威胁主要有以下几种类型:a)欺骗(Masquerade);b)重发(Replay);c)报文修改(Modification of message);d)拒绝服务(Deny of service);e)陷阱门(Trapdoor);f)特洛伊木马(Trojan horse);g)攻击,如透纳攻击(Tunneling Attack)、应用软件攻击等。这些安全威胁是无时、无处不在的,因此必须采取有效的措施来保障系统的安全。从技术角度讲,网络系统层次的安全防范技术有很多种,大致可以分为防火墙、入侵检测、协作式入侵检测技术等。(1)防火墙是应用最广的一种防范技术:作为系统的第一道防线,其主要作用是监控可信任网络和不可信任网络之间的访问通道,可在内部与外部网络之间形成一道防护屏障,拦截来自外部的非法访问并阻止内部信息的外泄,但它无法阻拦来自网络内部的非法操作。它根据事先设定的规则来确定是否拦截信息流的进出,但无法动态识别或自适应地调整规则,因而其智能化程度很有限。防火墙技术主要有三种:数据包过滤器(packet filter)、代理(proxy)和状态分析(stateful inspection)。现代防火墙产品通常混合使用这几种技术。(2)入侵检测(IDS—Instrusion Detection System)是近年来发展起来的一种防范技术:综合采用了统计技术、规则方法、网络通信技术、人工智能、密码学、推理等技术和方法,其作用是监控网络和计算机系统是否出现被入侵或滥用的征兆。1987年,Derothy Denning首次提出了一种检测入侵的思想,经过不断发展和完善,作为监控和识别攻击的标准解决方案,IDS系统已经成为安全防御系统的重要组成部分。入侵检测采用的分析技术可分为三大类:签名、统计和数据完整性分析法。①签名分析法:主要用来监测对系统的已知弱点进行攻击的行为。人们从攻击模式中归纳出它的签名,编写到IDS系统的代码里。签名分析实际上是一种模板匹配操作。②统计分析法:以统计学为理论基础,以系统正常使用情况下观察到的动作模式为依据来判别某个动作是否偏离了正常轨道。③数据完整性分析法:以密码学为理论基础,可以查证文件或者对象是否被别人修改过。IDS的种类包括基于网络和基于主机的入侵监测系统、基于特征的和基于非正常的入侵监测系统、实时和非实时的入侵监测系统等。(3)协作式入侵监测技术:独立的入侵监测系统不能够对广泛发生的各种入侵活动都做出有效的监测和反应,为了弥补独立运作的不足,人们提出了协作式入侵监测系统的想法。在协作式入侵监测系统中,IDS基于一种统一的规范,入侵监测组件之间自动地交换信息,并且通过信息的交换得到了对入侵的有效监测,可以应用于不同的网络环境。2.宿主操作系统层次安全技术操作系统是大型数据库系统的运行平台,为数据库系统提供一定程度的安全保护。目前操作系统平台大多数集中在Windows NT和Unix,安全级别通常为C1、C2级。主要安全技术有操作系统安全策略、安全管理策略、数据安全等方面。操作系统安全策略用于配置本地计算机的安全设置,包括密码策略、账户锁定策略、审核策略、IP安全策略、用户权利指派、加密数据的恢复代理以及其它安全选项。具体可以体现在用户账户、口令、访问权限、审计等方面。◆用户账户:用户访问系统的“身份证”,只有合法用户才有账户。◆口令:用户的口令为用户访问系统提供一道验证。◆访问权限:规定用户的权限。◆审计:对用户的行为进行跟踪和记录,便于系统管理员分析系统的访问情况以及事后的追查使用。2023-07-14 12:57:511
MSSQL快速掌握常见的几种数据库对象
你快速掌握常见的几种数据库对象。注释:数据库对象是数据库的组成部分,常见的有以下几种:1.表(Table)数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。行包括了若干列信息项。一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于惟一地确定一条记录。2.索引(Index)索引是根据指定的数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。3.视图(View)视图看上去同表似乎一模一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存。在视图是由查询数据库表产生的,它限制了用户能看到和修改的数据。由此可见,视图可以用来控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。4.图表(Diagram)5.缺省值(Default)缺省值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值。6.规则(Rule)规则是对数据库表中数据信息的限制。它限定的是表的列。7.触发器(Trigger)触发器是一个用户定义的SQL事务命令的集合。当对一个表进行插入、更改、删除时,这组命令就会自动执行。8.存储过程(Stored Procedure)存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。9.用户(User)所谓用户就是有权限访问数据库的人。2023-07-14 12:57:581
轻松三步走!防止MSSQL数据库注入攻击
风靡全球的SQL注入攻击,相信给很多人留下了深刻的印象,但是在这场攻击过后,笔者查阅了网上目前修补SQL注入的方法,发现里面都是一些“杂乱无章”的修补代码,对于不会编程的站长们来说,简直是“鸭子看闪电等于白看”!不如使用一下“SQL防注入系统”,轻松解决您网站所存在的注入漏洞吧!小知识:SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报。如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉,要想自己开始就不被他人所注入,请跟着笔者三步来走。一、工欲善其事,必先利其器SQL注入攻击,虽然俗称“有洞必入、有孔必钻”!但是面对SQL防注入系统,铁一般坚硬的“防盾盔甲”,这种注入式攻击就会失去,传说中的入侵效果,从而可以还大家一片难得的安宁!软件名称:SQL通用防注入系统软件版本:3.0软件大小:12 KB软件性质:免费软件应用平台:Windows 9X/NT/2000/XP小提示:当我们要对自己网站程序做SQL防注入时,需要从网上将SQL防注入系统工具,下载到本地,里面压缩包内含有三个文件,依次排列名为Neeao_SqlIn.Asp文件,是防SQL注入攻击的主文件程序,其次Neeao_sql_admin.asp文件,是防止网站后台泄密的管理文件,最后一个SQLIN.mdb是数据库表文件,只是起到连接其两个数据文件的作用。为了后台管理员密码不为弱口令,请打开装有SQL防注入软件的文件夹,找到其目录下的Neeao_sql_admin.asp后台管理文件,并且以记事本形式将它打开,然后便于修改其目前的弱口令密码,单击“编辑”菜单→“查找”选项,打开“查找”对话框,在里面的文本标签内,输入neeao的关键字,单击“查找下一个”按钮,就会在代码文本内,选中当前后台的弱口令密码(如图1),将其替换成自己觉得较为复杂的密码。操作完毕后,单击“文件”菜单,选择“保存”选项,自己所设置的后台密码,即可修改成功。二、网站上传,让防注入程序监守岗位如果想网站不含有SQL注入漏洞,这里请将自己的网站空间打开,然后将刚才修改的Neeao_sql_admin.asp文件,以及其同程序内自带的两个文件,一并上传到含有漏洞的网站目录里,而后以记事本或者WEBSHELL的形式,分别打开网站的所有页面,笔者这里WEBSHELL的形式打开,并且将其防注入这句代码替换成每个页面的代码开头部分(如图2)。保存以后,SQL注入漏洞就会立即一去不复返!如果你觉得在每个网站页面插入,防止注入的代码有些麻烦,可以在网站数据库的连接文件中,插入以上所提供的防止代码,也可达到整站防止SQL注入的效果。三、结束语从笔者“轻松防注”的网站经历中,大家不难发现只要将“SQL防注入系统”运用得当,无需掌握高深的编程修补技术,也同样可以阻止住SQL注入的再次攻击。所以说本文提供的方法,是新手站长们的安全福音,一点都不为过。2023-07-14 12:58:051
mssql数据库操作手册
mssql数据库操作手册 一 备份数据库 打开SQL企业管理器 在控制台根目录中依次点开Microsoft SQL Server SQL Server组 >双击打开你的服务器 >双击打开数据库目录 选择你的数据库名称(如系统数据库Newasp) >然后点上面菜单中的工具 >选择备份数据库 备份选项选择完全备份 目的中的备份到如果原来有路径和名称则选中名称点删除 然后点添加 如果原来没有路径和名称则直接选择添加 接着指定路径和文件名 指定后点确定返回备份窗口 接着点确定进行备份 二 还原数据库 打开SQL企业管理器 在控制台根目录中依次点开Microsoft SQL Server SQL Server组 >双击打开你的服务器 >点图标栏的新建数据库图标 新建数据库的名字自行取 点击新建好的数据库名称(如系统数据库Newasp) >然后点上面菜单中的工具 >选择恢复数据库 在弹出来的窗口中的还原选项中选择从设备 >点选择设备 >点添加 >然后选择你的备份文件名 >添加后点确定返回 这时候设备栏应该出现您刚才选择的数据库备份文件名 备份号默认为 (如果您对同一个文件做过多次备份 可以点击备份号旁边的查看内容 在复选框中选择最新的一次备份后点确定) >然后点击上方常规旁边的选项按钮 在出现的窗口中选择在现有数据库上强制还原 以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项 在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录) 逻辑文件名不需要改动 移至物理文件名要根据你所恢复的机器情况做改动 如您的SQL数据库装在D:Program FilesMicrosoft SQL ServerMSSQLData 那么就按照您恢复机器的目录进行相关改动改动 并且最后的文件名最好改成您当前的数据库名(如原来是NewCloud_data mdf 现在的数据库是Newasp 就改成Newasp_data mdf) 日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是*_log ldf结尾的) 这里的恢复目录您可以自由设置 前提是该目录必须存在(如您可以指定d:sqldataNewCloud_data mdf或者d:sqldataNewCloud_log ldf) 否则恢复将报错 修改完成后 点击下面的确定进行恢复 这时会出现一个进度条 提示恢复的进度 恢复完成后系统会自动提示成功 如中间提示报错 请记录下相关的错误内容并询问对SQL操作比较熟悉的人员 一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误 数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作 如果还提示正在使用的错误可以将SQL服务停止然后重起看看 至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复 三 收缩数据库 一般情况下 SQL数据库的收缩并不能很大程度上减小数据库大小 其主要作用是收缩日志大小 应当定期进行此操作以免数据库日志过大 设置数据库模式为简单模式 打开SQL企业管理器 在控制台根目录中依次点开Microsoft SQL Server >SQL Server组 >双击打开你的服务器 >双击打开数据库目录 >选择你的数据库名称(如系统数据库Newasp) >然后点击右键选择属性 >选择选项 >在故障还原的模式中选择“简单” 然后按确定保存 在当前数据库上点右键 看所有任务中的收缩数据库 一般里面的默认设置不用调整 直接点确定 收缩数据库完成后 建议将您的数据库属性重新设置为标准模式 操作方法同第一点 因为日志在一些异常情况下往往是恢复数据库的重要依据 四 设定每日自动备份数据库 强烈建议有条件的用户进行此操作! 打开企业管理器 在控制台根目录中依次点开Microsoft SQL Server >SQL Server组 >双击打开你的服务器 然后点上面菜单中的工具 >选择数据库维护计划器 下一步选择要进行自动备份的数据 >下一步更新数据优化信息 这里一般不用做选择 >下一步检查数据完整性 也一般不选择 下一步指定数据库维护计划 默认的是 周备份一次 点击更改选择每天备份后点确定 下一步指定备份的磁盘目录 选择指定目录 如您可以在D盘新建一个目录如 d:databak 然后在这里选择使用此目录 如果您的数据库比较多最好选择为每个数据库建立子目录 然后选择删除早于多少天前的备份 一般设定 - 天 这看您的具体备份要求 备份文件扩展名一般都是bak就用默认的 下一步指定事务日志备份计划 看您的需要做选择 >下一步要生成的报表 一般不做选择 >下一步维护计划历史记录 最好用默认的选项 >下一步完成 完成后系统很可能会提示Sql Server Agent服务未启动 先点确定完成计划设定 然后找到桌面最右边状态栏中的SQL绿色图标 双击点开 在服务中选择Sql Server Agent 然后点击运行箭头 选上下方的当启动OS时自动启动服务 这个时候数据库计划已经成功的运行了 他将按照您上面的设置进行自动备份 修改计划 打开企业管理器 在控制台根目录中依次点开Microsoft SQL Server >SQL Server组 >双击打开你的服务器 >管理 >数据库维护计划 >打开后可看到你设定的计划 可以进行修改或者删除操作 五 数据的转移(新建数据库或转移服务器) lishixinzhi/Article/program/MySQL/201311/295382023-07-14 12:58:121
MSSQL Server 2000的安全及管理介绍
通俗地讲,资料库是储存具有某些特性的资料的数据库。通常,我们把使用资料库系统的用户划分为四类,资料库设计者、资料库管理者、应用程序设计者及一般使用者。其中资料库管理者负责账号的管理与维护,决定所有资料库使用者的使用权限。资料库安全管理可说是资料库管理者最重要的工作。SQL Server是Microsoft的企业级资料库,它是个功能强大、易于使用的资料库,可直接与Windows NT/2000的使用者账号做安全机制整合。那么,到底什么是安全管理呢?简而言之,安全管理是指对需要登入服务器的人员进行管理。在应用程序中,我们会对资料库的各类使用者设置资料操作权限,通常是直接在应用程序中做账号与密码的管理,但这种做法需要撰写程序控制。而SQL Server具有亲切、易操作的图形使用界面,可以方便地管理使用者对SQL Server的存取权限。SQL Server 安全管理可分为3个层次,即登入账户、资料库的管理与连接特定资料库的权限和使用者对所连接资料库部分的操作权限。下面,我们将针对这3个层次做详细说明。一、登入账户任何需要存取 SQL Server的使用者皆需要有一组服务器认可的账户和密码。SQL Server支持2种登入方式,一种为Windows验证,另一种为SQL Server验证。前者只要在SQL Server中建立与Windwos NT/2000对应的登入账户,让使用者登入Windows NT/2000时所用的账户能与在SQL Server中的账户相互对应,即可顺利连上SQL Server,由此,我们完成了对Windows NT/2000安全管理机制的整合。接下来,资料库管理者在Windows NT上登入账号,可直接将Windows NT中的群组加到SQL Server中,从而成为一个登入账户。通过上述操作,Windows NT登入群组中的成员皆可连接SQL Server。如果该群组中某一成员不允许其登入SQL Server,可在SQL Server中将该成员的个人账户设为拒绝存取。如果把SQL Server安装在 Windows 95、windows 98或Windows Me中,则无法使用Windows验证方式。如果使用SQL Server验证,必须在SQL Server中为要连接SQL Server的使用者建立登入的账号名称和密码,这些账号和密码与Windows NT/2000的账户无关。二、管理与连接特定资料库的权限在建立登入账户后,使用者便能进入SQL Server中,但并不代表使用者有连接SQL Server特定资料库的权限,必须对使用者或群组设置对SQL Server的操作权限。SQL Server中对资料库的操作权限可分为服务器自身的操作权限与资料库的存取权限。对SQL Server的操作权限可由服务器角色来设置,资料库的存取权限则可由角色与使用者对个别表格的存取权限来设置。那么,服务器角色与角色之间有什么不同呢?1. 服务器角色SQL Server系统内建8种服务器角色(可把角色想像成Windows NT账号中的群组),它不能更改或新增。当对某一使用者或群组设置好服务器角色后,其便拥有该服务器角色所拥有的权限。服务器角色是将SQL Server的各项管理工作加以分类,如建立账号和资料库备份等,它与资料库角色不一样,后者为对个别资料库的操作权限。我们简单列出8种服务器角色所拥有的权限。system administrators 表示系统管理员可执行任何动作。security administrators 表示管理登入账户。server administrators 表示设置SQL Server的各项参数。setup administrators 表示有关replication(复制)的设置与管理扩充预存程序。process administrators 表示管理SQL Server所有执行中的程序。disk administrators 表示管理资料库文件。database administrators 表示建立和更改资料库属性。bulk insert administrators 表示对可执行bulk insert操作的管理。2. 角色SQL Server内建10种资料库角色,它不能更改或删除,但可对个别资料库增加角色。若给予使用者有内建角色中的资料库拥有者权限,它便拥有该资料库的完整操作权。其余各角色的详细权限说明可参考SQL Server的bol(即SQL Server books online),通过查询关键字roles,进入标题为roles的项目,其中有包含内建服务器角色与资料库角色的完整说明,在此不多赘述。需要注意的是,在对使用者分别设置了各种角色(每一使用者或群组可具有多种角色)后,它便拥有所有角色联集的权限,但若其中有某一角色对某一操作权(如对某一表格的select权)设置了拒绝,它将失去了该项权限,换句话说,拒绝权限优于授予权限。三、资料库中部件的存取权限对于SQL Server的管理与可连接特定资料库的权限,由SQL Server所提供的服务器角色与资料库角色基本上可以符合我们大部份需求。另外,可直接对使用者或群组设置对资料库中部件的个别存取权限,这些个别的存取权限有select、insert、update、delete、exec和dri,其中exec与dri分别表示对预存程序的执行权限和对表格有效性的验证权限。在做直接的权限设置时,我们也可针对特殊的使用者(如内建资料库角色不能满足时),当然,如果使用相同权限方式的用户比较多时,可以增加一个符合需求的资料库角色,或将这些使用者在Windows NT/2000上先归于某群组,再对该群组设置权限,这样做比较方便于管理与维护。除上述内容之外,在实际运行时,笔者对于资料库安全的把关总结出以下几点建议。1. 除非必要,否则尽量以Windows验证来管理可连接SQL Server的使用者,以整合Windows NT/2000的安全机制。2. 善用SQL Server的服务器角色与资料库角色功能。3. 善用SQL Server的加密功能。SQL Server提供了登入账号、网络传输、虚拟表和预存程序的加密功能。其中账号的密码加密是预设的,而网络间传输资料则可用SSL方式进行加密,要启动此功能必须启动net-library的加密功能,同时要配合windows 2000的CA功能,并在服务器端与用户端设置完成,从而双方在传输资料前,便会在SSL加密后再进行传输。由于虚拟表和预存程序的定义是以明码保存在系统资料表中,若要将虚拟表和预存程序加密,可在其建立时在eNTerprise manager中设置加密选项或以 alter 叙述来设置加密。4. 系统安装完毕后,务必更改预设的sa密码,免得有其他使用者"义务"管理您的SQL Server。2023-07-14 12:58:201
MSSQL Server查询优化方法
查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。9、返回了不必要的行和列10、查询语句不好,没有优化可以通过如下方法来优化查询 :1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要.2、纵向、横向分割表,减少表的尺寸(sp_spaceuse)3、升级硬件4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段5、提高网速;6、扩大服务器的内存,windows 2000和SQL server 2000能支持4-8G的内存。配置虚拟内存:虚拟内存大小应基于计算机上并发运行的服务进行配置。运行 Microsoft SQL Server 2000 时,可考虑将虚拟内存大小设置为计算机中安装的物理内存的 1.5 倍。如果另外安装了全文检索功能,并打算运行 Microsoft 搜索服务以便执行全文索引和查询,可考虑:将虚拟内存大小配置为至少是计算机中安装的物理内存的 3 倍。将 SQL Server max server memory 服务器配置选项配置为物理内存的 1.5 倍(虚拟内存大小设置的一半)。7、增加服务器CPU个数;但是必须明白并行处理串行处理更需要资源例如内存。使用并行还是串行程是MsSQL自动评估选择的。单个任务分解成多个任务,就可以在处理器上运行。例如耽搁查询的排序、连接、扫描和GROUP BY字句同时执行,SQL SERVER根据系统的负载情况决定最优的并行等级,复杂的需要消耗大量的CPU的查询最适合并行处理。但是更新操作UPDATE,INSERT, DELETE还不能并行处理。8、如果是使用like进行查询的话,简单的使用index是不行的,但是全文索引,耗空间。like "a%" 使用索引like "%a" 不使用索引用 like "%a%" 查询时,查询耗时和字段值总长度成正比,所以不能用CHAR类型,而是VARCHAR。对于字段的值很长的建全文索引。9、DB Server 和APPLication Server 分离;OLTP和OLAP分离10、分布式分区视图可用于实现数据库服务器联合体。联合体是一组分开管理的服务器,但它们相互协作分担系统的处理负荷。这种通过分区数据形成数据库服务器联合体的机制能够扩大一组服务器,以支持大型的多层 Web 站点的处理需要。有关更多信息,参见设计联合数据库服务器。(参照SQL帮助文件"分区视图")a、在实现分区视图之前,必须先水平分区表b、在创建成员表后,在每个成员服务器上定义一个分布式分区视图,并且每个视图具有相同的名称。这样,引用分布式分区视图名的查询可以在任何一个成员服务器上运行。系统操作如同每个成员服务器上都有一个原始表的复本一样,但其实每个服务器上只有一个成员表和一个分布式分区视图。数据的位置对应用程序是透明的。11、重建索引 DBCC REINDEX ,DBCC INDEXDEFRAG,收缩数据和日志 DBCC SHRINKDB,DBCC SHRINKFILE.设置自动收缩日志.对于大的数据库不要设置数据库自动增长,它会降低服务器的性能。在T-sql的写法上有很大的讲究,下面列出常见的要点:首先,DBMS处理查询计划的过程是这样的:1、 查询语句的词法、语法检查2、 将语句提交给DBMS的查询优化器3、 优化器做代数优化和存取路径的优化4、 由预编译模块生成查询规划5、 然后在合适的时间提交给系统处理执行6、 最后将执行结果返回给用户其次,看一下SQL SERVER的数据存放的结构:一个页面的大小为8K(8060)字节,8个页面为一个盘区,按照B树存放。Commit和rollback的区别Rollback:回滚所有的事物。Commit:提交当前的事物.没有必要在动态SQL里写事物,如果要写请写在外面如:begin tranexec(@s)commit trans或者将动态SQL 写成函数或者存储过程。13、在查询Select语句中用Where字句限制返回的行数,避免表扫描,如果返回不必要的数据,浪费了服务器的I/O资源,加重了网络的负担降低性能。如果表很大,在表扫描的期间将表锁住,禁止其他的联接访问表,后果严重。14、SQL的注释申明对执行没有任何影响15、尽可能不使用光标,它占用大量的资源。如果需要row-by-row地执行,尽量采用非光标技术,如:在客户端循环,用临时表,Table变量,用子查询,用Case语句等等。游标可以按照它所支持的提取选项进行分类:只进必须按照从第一行到最后一行的顺序提取行。FETCH NEXT 是唯一允许的提取操作,也是默认方式。可滚动性可以在游标中任何地方随机提取任意行。游标的技术在SQL2000下变得功能很强大,他的目的是支持循环。有四个并发选项READ_ONLY:不允许通过游标定位更新(Update),且在组成结果集的行中没有锁。OPTIMISTIC WITH valueS:乐观并发控制是事务控制理论的一个标准部分。乐观并发控制用于这样的情形,即在打开游标及更新行的间隔中,只有很小的机会让第二个用户更新某一行。当某个游标以此选项打开时,没有锁控制其中的行,这将有助于最大化其处理能力。如果用户试图修改某一行,则此行的当前值会与最后一次提取此行时获取的值进行比较。如果任何值发生改变,则服务器就会知道其他人已更新了此行,并会返回一个错误。如果值是一样的,服务器就执行修改。选择这个并发选项_仁褂没Щ虺绦蛟背械T鹑危__砟切┍硎酒渌_没б丫_云浣_辛诵薷牡拇砦蟆Sτ贸绦蚴盏秸庵执砦笫辈扇〉牡湫痛胧┚褪撬⑿掠伪辏_竦闷湫轮担_缓笕糜没Ь龆ㄊ欠穸孕轮到_行薷摹?BROPTIMISTIC WITH ROW VERSIONING:此乐观并发控制选项基于行版本控制。使用行版本控制,其中的表必须具有某种版本标识符,服务器可用它来确定该行在读入游标后是否有所更改。在 SQL Server 中,这个性能由 timestamp 数据类型提供,它是一个二进制数字,表示数据库中更改的相对顺序。每个数据库都有一个全局当前时间戳值:@@DBTS。每次以任何方式更改带有 timestamp 列的行时,SQL Server 先在时间戳列中存储当前的 @@DBTS 值,然后增加 @@DBTS 的值。如果某个表具有 timestamp 列,则时间戳会被记到行级。服务器就可以比较某行的当前时间戳值和上次提取时所存储的时间戳值,从而确定该行是否已更新。服务器不必比较所有列的值,只需比较 timestamp 列即可。如果应用程序对没有 timestamp 列的表要求基于行版本控制的乐观并发,则游标默认为基于数值的乐观并发控制。SCROLL LOCKS这个选项实现悲观并发控制。在悲观并发控制中,在把数据库的行读入游标结果集时,应用程序将试图锁定数据库行。在使用服务器游标时,将行读入游标时会在其上放置一个更新锁。如果在事务内打开游标,则该事务更新锁将一直保持到事务被提交或回滚;当提取下一行时,将除去游标锁。如果在事务外打开游标,则提取下一行时,锁就被丢弃。因此,每当用户需要完全的悲观并发控制时,游标都应在事务内打开。更新锁将阻止任何其它任务获取更新锁或排它锁,从而阻止其它任务更新该行。然而,更新锁并不阻止共享锁,所以它不会阻止其它任务读取行,除非第二个任务也在要求带更新锁的读取。滚动锁根据在游标定义的 SELECT 语句中指定的锁提示,这些游标并发选项可以生成滚动锁。滚动锁在提取时在每行上获取,并保持到下次提取或者游标关闭,以先发生者为准。下次提取时,服务器为新提取中的行获取滚动锁,并释放上次提取中行的滚动锁。滚动锁独立于事务锁,并可以保持到一个提交或回滚操作之后。如果提交时关闭游标的选项为关,则 COMMIT 语句并不关闭任何打开的游标,而且滚动锁被保留到提交之后,以维护对所提取数据的隔离。所获取滚动锁的类型取决于游标并发选项和游标 SELECT 语句中的锁提示。锁提示 只读 乐观数值 乐观行版本控制 锁定无提示 未锁定 未锁定 未锁定 更新NOLOCK 未锁定 未锁定 未锁定 未锁定HOLDLOCK 共享 共享 共享 更新UPDLOCK 错误 更新 更新 更新TABLOCKX 错误 未锁定 未锁定 更新其它 未锁定 未锁定 未锁定 更新*指定 NOLOCK 提示将使指定了该提示的表在游标内是只读的。16、用Profiler来跟踪查询,得到查询所需的时间,找出SQL的问题所在;用索引优化器优化索引17、注意UNion和UNion all 的区别。UNION all好18、注意使用DISTINCT,在没有必要时不要用,它同UNION一样会使查询变慢。重复的记录在查询里是没有问题的19、查询时不要返回不需要的行、列20、用sp_configure "query governor cost limit"或者SET QUERY_GOVERNOR_COST_LIMIT来限制查询消耗的资源。当评估查询消耗的资源超出限制时,服务器自动取消查询,在查询之前就扼杀掉。 SET LOCKTIME设置锁的时间21、用select top 100 / 10 Percent 来限制用户返回的行数或者SET ROWCOUNT来限制操作的行22、在SQL2000以前,一般不要用如下的字句: "IS NULL", "", "!=", "!", "!", "NOT", "NOT EXISTS", "NOT IN", "NOT LIKE", and "LIKE "%500"",因为他们不走索引全是表扫描。也不要在WHere字句中的列名加函数,如Convert,substring等,如果必须用函数的时候,创建计算列再创建索引来替代.还可以变通写法:WHERE SUBSTRING(firstname,1,1) = "m"改为WHERE firstname like "m%"(索引扫描),一定要将函数和列名分开。并且索引不能建得太多和太大。NOT IN会多次扫描表,使用EXISTS、NOT EXISTS ,IN , LEFT OUTER JOIN 来替代,特别是左连接,而Exists比IN更快,最慢的是NOT操作.如果列的值含有空,以前它的索引不起作用,现在2000的优化器能够处理了。相同的是IS NULL,“NOT", "NOT EXISTS", "NOT IN"能优化她,而””等还是不能优化,用不到索引。23、使用Query Analyzer,查看SQL语句的查询计划和评估分析是否是优化的SQL。一般的20%的代码占据了80%的资源,我们优化的重点是这些慢的地方。24、如果使用了IN或者OR等时发现查询没有走索引,使用显示申明指定索引:SELECT * FROM PersonMember (INDEX = IX_Title) WHERE processid IN (‘男",‘女")25、将需要查询的结果预先计算好放在表中,查询的时候再SELECT。这在SQL7.0以前是最重要的手段。例如医院的住院费计算。26、MIN() 和 MAX()能使用到合适的索引。27、数据库有一个原则是代码离数据越近越好,所以优先选择Default,依次为Rules,Triggers, Constraint(约束如外健主健CheckUNIQUE,数据类型的最大长度等等都是约束),Procedure.这样不仅维护工作小,编写程序质量高,并且执行的速度快。28、如果要插入大的二进制值到Image列,使用存储过程,千万不要用内嵌INsert来插入(不知JAVA是否)。因为这样应用程序首先将二进制值转换成字符串(尺寸是它的两倍),服务器受到字符后又将他转换成二进制值.存储过程就没有这些动作:方法:Create procedure p_insert as insert into table(Fimage) values (@image),在前台调用这个存储过程传入二进制参数,这样处理速度明显改善。29、Between在某些时候比IN速度更快,Between能够更快地根据索引找到范围。用查询优化器可见到差别。select * from chineseresume where title in ("男","女")Select * from chineseresume where between "男" and "女"是一样的。由于in会在比较多次,所以有时会慢些。30、在必要是对全局或者局部临时表创建索引,有时能够提高速度,但不是一定会这样,因为索引也耗费大量的资源。他的创建同是实际表一样。31、不要建没有作用的事物例如产生报表时,浪费资源。只有在必要使用事物时使用它。32、用OR的字句可以分解成多个查询,并且通过UNION 连接多个查询。他们的速度只同是否使用索引有关,如果查询需要用到联合索引,用UNION all执行的效率更高.多个OR的字句没有用到索引,改写成UNION的形式再试图与索引匹配。一个关键的问题是否用到索引。33、尽量少用视图,它的效率低。对视图操作比直接对表操作慢,可以用stored procedure来代替她。特别的是不要用视图嵌套,嵌套视图增加了寻找原始资料的难度。我们看视图的本质:它是存放在服务器上的被优化好了的已经产生了查询规划的SQL。对单个表检索数据时,不要使用指向多个表的视图,直接从表检索或者仅仅包含这个表的视图上读,否则增加了不必要的开销,查询受到干扰.为了加快视图的查询,MsSQL增加了视图索引的功能。34、没有必要时不要用DISTINCT和ORDER BY,这些动作可以改在客户端执行。它们增加了额外的开销。这同UNION 和UNION ALL一样的道理。SELECT top 20 ad.companyname,comid,position,ad.referenceid,worklocation,convert(varchar(10),ad.postDate,120)as postDate1,workyear,degreedescriptionFROM jobcn_query.dbo.COMPANYAD_query adwhere referenceIDin("JCNAD00329667","JCNAD132168","JCNAD00337748","JCNAD00338345","JCNAD00333138","JCNAD00303570","JCNAD00303569","JCNAD00303568","JCNAD00306698","JCNAD00231935","JCNAD00231933","JCNAD00254567","JCNAD00254585","JCNAD00254608","JCNAD00254607","JCNAD00258524","JCNAD00332133","JCNAD00268618","JCNAD00279196","JCNAD00268613")order by postdate desc35、在IN后面值的列表中,将出现最频繁的值放在最前面,出现得最少的放在最后面,减少判断的次数。36、当用SELECT INTO时,它会锁住系统表(sysobjects,sysindexes等等),阻塞其他的连接的存取。创建临时表时用显示申明语句,而不是select INTO.drop table t_lxhbegin transelect * into t_lxh from chineseresume where name = "XYZ"--commit在另一个连接中SELECT * from sysobjects可以看到SELECT INTO 会锁住系统表,Create table 也会锁系统表(不管是临时表还是系统表)。所以千万不要在事物内使用它!!!这样的话如果是经常要用的临时表请使用实表,或者临时表变量。37、一般在GROUP BY 个HAVING字句之前就能剔除多余的行,所以尽量不要用它们来做剔除行的工作。他们的执行顺序应该如下最优:select 的Where字句选择所有合适的行,Group By用来分组个统计行,Having字句用来剔除多余的分组。这样Group By 个Having的开销小,查询快.对于大的数据行进行分组和Having十分消耗资源。如果Group BY的目的不包括计算,只是分组,那么用Distinct更快41、一次更新多条记录比分多次更新每次一条快,就是说批处理好42、少用临时表,尽量用结果集和Table类性的变量来代替它,Table 类型的变量比临时表好43、在SQL2000下,计算字段是可以索引的,需要满足的条件如下:a、计算字段的表达是确定的b、不能用在TEXT,Ntext,Image数据类型c、必须配制如下选项ANSI_NULLS = ON, ANSI_PADDINGS = ON, .44、尽量将数据的处理工作放在服务器上,减少网络的开销,如使用存储过程。存储过程是编译好、优化过、并且被组织到一个执行规划里、且存储在数据库中的SQL 语句,是控制流语言的集合,速度当然快。反复执行的动态SQL,可以使用临时存储过程,该过程(临时表)被放在Tempdb中。以前由于SQL SERVER对复杂的数学计算不支持,所以不得不将这个工作放在其他的层上而增加网络的开销。SQL2000支持UDFs,现在支持复杂的数学计算,函数的返回值不要太大,这样的开销很大。用户自定义函数象光标一样执行的消耗大量的资源,如果返回大的结果采用存储过程45、不要在一句话里再三的使用相同的函数,浪费资源,将结果放在变量里再调用更快46、SELECT COUNT(*)的效率教低,尽量变通他的写法,而EXISTS快.同时请注意区别:select count(Field of null) from Table 和 select count(Field of NOT null) from Table的返回值是不同的!!!47、当服务器的内存够多时,配制线程数量 = 最大连接数+5,这样能发挥最大的效率;否则使用 配制线程数量最大连接数启用SQL SERVER的线程池来解决,如果还是数量 = 最大连接数+5,严重的损害服务器的性能。48、按照一定的次序来访问你的表。如果你先锁住表A,再锁住表B,那么在所有的存储过程中都要按照这个顺序来锁定它们。如果你(不经意的)某个存储过程中先锁定表B,再锁定表A,这可能就会导致一个死锁。如果锁定顺序没有被预先详细的设计好,死锁很难被发现49、通过SQL Server Performance Monitor监视相应硬件的负载Memory: Page Faults / sec计数器如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。Process:1、 % DPC Time 指在范例间隔期间处理器用在缓延程序调用(DPC)接收和提供服务的百分比。(DPC 正在运行的为比标准间隔优先权低的间隔)。 由于 DPC 是以特权模式执行的,DPC 时间的百分比为特权时间百分比的一部分。这些时间单独计算并且不属于间隔计算总数的一部 分。这个总数显示了作为实例时间百分比的平均忙时。2、%Processor Time计数器如果该参数值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。3、% Privileged Time 指非闲置处理器时间用于特权模式的百分比。(特权模式是为操作系统组件和操纵硬件驱动程序而设计的一种处理模式。它允许直接访问硬件和所有内存。另一种模式为用户模式,它是一种为应用程序、环境分系统和整数分系统设计的一种有限处理模式。操作系统将应用程序线程转换成特权模式以访问操作系统服务)。 特权时间的 % 包括为间断和 DPC 提供服务的时间。特权时间比率高可能是由于失败设备产生的大数量的间隔而引起的。这个计数器将平均忙时作为样本时间的一部分显示。4、% User Time表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。Physical Disk: Curretn Disk Queue Length计数器该值应不超过磁盘数的1.5~2倍。要提高性能,可增加磁盘。SQLServer:Cache Hit Ratio计数器该值越高越好。如果持续低于80%,应考虑增加内存。 注意该参数值是从SQL Server启动后,就一直累加记数,所以运行经过一段时间后,该值将不能反映系统当前值。40、分析select emp_name form employee where salary3000 在此语句中若salary是Float类型的,则优化器对其进行优化为Convert(float,3000),因为3000是个整数,我们应在编程时使用3000.0而不要等运行时让DBMS进行转化。同样字符和整型数据的转换。41、查询的关联同写的顺序select a.personMemberID, * from chineseresume a,personmember b wherepersonMemberID = b.referenceid and a.personMemberID = "JCNPRH39681"(A = B ,B = ‘号码")select a.personMemberID, * from chineseresume a,personmember b wherea.personMemberID = b.referenceid and a.personMemberID = "JCNPRH39681"and b.referenceid = "JCNPRH39681"(A = B ,B = ‘号码", A = ‘2023-07-14 12:58:281
MSDE和MSSQL有什么区别(mssql和sqlserver)
MSDE的全称是MicrosoftSQLServerDesktopEngine,它是一个基于SQLServer核心技术构建的数据引擎。MSDE2000支持单处理器和双处理器,是面向小型应用程序桌面扩展的可靠的存储引擎和查询处理器。MSDE与SQLServer完全兼容,并且MSDE是免费的。SQLServer系列产品具有各种发行版本,用以满足在不同的环境下对处理的数据量、并发用户数和硬件的不同要求。一般来说,MSDE适合在并发用户数小于5人,数据量低于2GB的情况下使用。当数据量和并发用户数超过上面的配额的时候,SQLServer成为了更好的选择。由于MSDE与SQLServer完全兼容,开发人员可以使用同样的数据访问语言在规模相对较小的MSDE数据库系统和规模较大的SQLServer数据库系统之间实现无缝转换,并且,当所在组织的规模扩大后对数据库系统的功能和性能提出新的需求时,则可以在不修改现有数据库应用程序中的任何代码的情况下,将它完全移植到基于SQLServer的平台上运行。2023-07-14 12:58:351
MYSQL、MSSQL、Oracle这三个数据库有什么区别?
Access:是一种桌面数据库,适合数据量较少的应用,存储数据库(.mdb)文件大小不超过2G字节,数据库中的对象个数不超过32,768。MSSQL:是基于服务器端的中型数据库,可以适合大容量数据的应用,在功能上管理上也要比Access强。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。MySQL:是一个开放源码的小型关系型数据库管理系统,目前被广泛地应用在中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2023-07-14 12:58:531
MSSQLServer是什么意思,MSSQLServer是什么意思
关于MSSQLServer的意思 美国Microsoft公司推出的一种关系型数据库系统。SQLServer是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。 其主要特点如下: (1)高性能设计,可充分利用WindowsNT的优势。 (2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。 (3)强壮的事务处理功能,采用各种方法保证数据的完整性。 (4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Inter的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。2023-07-14 12:59:001
MSSQL 连接远程数据库
分类: 电脑/网络 >> 互联网 问题描述: 本人在本地测试完网站 用的MSSQL数据库 刚开通了空间 请问如何把本地的数据库上传至服务器 越详细越傻瓜越好 谢谢解析: 呵呵,我刚学会了,教你一招吧。 第一步:通过SQL脚本生成表结构, 可以保证本地数据库中视图、存储过程、以及表的默认值、标识、主键等属性的完整性,避免由于DTS传输引起丢失属性的问题,同时使用查询分析器执行SQL脚本,在服务器端创建表结构; 1)、请您先运行本地的企业管理器 2)、请您点击您本地的数据库点击右健-》选择生成SQL脚本 3)、选择常规-》点击全部显示,选择您想导出的脚本对象 4)、点击选项-》表脚本选项,把您所用到的脚本选中然后点击确定 5)为自己导入的.sql脚本文件命名,并保存在本地 6)、找到刚才我们保存在本地的.sql脚本文件,使用记事本打开 7)、选择编辑-》替换,把程序中所有[dbo]的字符都更改成您万网发信告知您的数据库登陆名,更换完成后保存关闭记事本 8)、通过万网通知书中的数据库登陆地址、数据库登陆名、和数据库密码,使用企业管理器连接到万网的主机服务器上,然后选择查询分析器 9)、点击打开选择刚才编辑过的.sql脚本,然后点击运行 第二步:在本地创建一个和万网主机相同权限的SQL数据库 1)、完成上面操作后,请您选择数据库点击右键选择新建数据库,由于您在万网申请的是虚拟主机,万网分配的权限都是user的而不是dbo的权限,因此需要您在本地也创建一个与服务器一样的配置,以便正常完成导入操作 2)、在常规-》名称处输入万网开通通知中告知您的数据库库名,然后点击确定。例如:cw01001_db 3)、选择安全性-》新建登陆 4)、在常规选择中输入名称、身份验证选择SQL Server身份验证、默认设置选择您刚刚新建的数据库 5)、在数据库访问中选中刚刚您创建的数据库,然后点击确定 6)、现在我们再回到刚才我们创建的数据库,然后点击右键-》属性 7)、选择权限,然后把相应权限赋予新建的用户名,现在我们新的数据库就已经创建完成了。下一步就是如何把老数据库中的文件导入到我们的新数据库中 第三步:将原数据库备份并还原到新创建的数据库中 1)、选择老数据库点击右键-》所有任务-》备份数据库 2)、在常规选项中-》目的中点击添加选择您需要备份出文件的位置 3)、等备份完成后,我们重新选择新数据库点击右键-》所有任务-》还原数据库 4)、在常规中选择从设备,并在参数设备中点击选择设备 5)、点击添加选择我们刚刚从老数据库中备份出来的文件,然后点击确定 6)、现在我们在还原数据库中再点击选项,把在现有数据库上强制还原选中,点击确定进行还原操作,等还原完毕后我们新数据库就已经与老数据库的内容一样了,最后一步操作就是把数据从新数据库中使用DTS导出协议导入到万网服务器上 第四步:通过企业管理器的DTS传输方式将本地数据导出到服务器。 1)、找到您新的数据库 2)、点击右健-》所有任务-》导出数据 3)、进入DTS导入/导出界面,直接点击下一步 4)、从选择数据源窗口中选择您本地的数据库 5)、在选择目的窗口中需要您填写服务器地址、输入万网数据库开通通知中告知您的数据库用户名和密码,等连接成功后选择万网给您开通的数据库,然后点击下一步 6)、在指定复制或查询中,您可以选择您需要导入的类型,一般为默认 7)、在选择源表和视图中,点击全选,点击下一步,这样就把您本地数据库中的文件导入到服务器上了,现在我们的导入数据库工作就已经全部完成了。 还有图片,如果你要的话,再联系我。whm8377@1632023-07-14 12:59:101
MSSQL及MYSQL是什么意思!(mssql与mysql语法区别)
MSSQL的全名是:MicrosoftSQLServerMicrosoft的意思是微软,SQLServer是一种关系数据库,两者结合后意思是:微软公司的关系数据库产品~MYSQL是SUN公司的关系数据库产品~两者之间最大的区别在于:MSSQL是要收费的,而MYSQL是完全开源免费的~2023-07-14 12:59:161
MSSQL各种写法的效率问题
经常可以遇到这种情况:用不同的SQL写法可以达到同样的目的。爱钻牛角尖的人就想搞明白,诚然结果一样,但到底孰优孰劣?下面是我列出的一些,请兄弟们赐教。也请兄弟们将你们遇到的类似问题一并列出。(1)一次插入多条数据时:CREATE TABLE tb(ID int, 名称 NVARCHAR(30), 备注 NVARCHAR(1000))INSERT tbSELECT 1,"DDD",1UNIONALLSELECT 1,"5100","D"UNIONALLSELECT 1,"5200","E"也可以这样:CREATE TABLE tb1(ID int, 名称 NVARCHAR(30), 备注 NVARCHAR(1000))INSERT TB1 (ID,名称,备注)VALUES(1,"DDD",1)INSERT TB1 (ID,名称,备注)VALUES(1,"5100","D")INSERT TB1 (ID,名称,备注)VALUES(1,"5200","E")_________________________________上面两种方法,哪种方法效率高?(2)赋值时:SELECT @a=N"aa"SET @a=N"aa"_________________________________上面两种方法,哪种方法效率高?(3)取前几条数据时set ROWCOUNT 2 select * from tb order by fdselect Top 2 * from tb order by fd_________________________________上面两种方法,哪种方法效率高?(4)条件判断时where 0(select count(*) from tb where )where exists(select * from tb where )_________________________________上面两种方法,哪种方法效率高?(5)NULLIF的使用-----同理它的反函数ISNULL的使用update tb set fd=case when fd=1 then null else fd endupdate tb set fd=nullif(fd,1)_________________________________上面两种方法,哪种方法效率高?(6)从字符串中取子字符串时substring("abcdefg",1,3)left("abcderg",3)_________________________________上面两种方法,哪种方法效率高?(7)EXCEPT和Not in的区别?(8)INTERSECT和UNION的区别?下面是邹老大的回答:"(1)一次插入多条数据时:第1种好一些, 但也得有个, 因为第1种的union all是做为一个语句整体, 查询优化器会尝试做优化, 同时, 也要先算出这个结果再插入的.2. 如果是单个赋值, 没有什么好比较的话.不过, 如果是为多个变量赋值, 我测试过, SELECT 一次性赋值, 比用SET 逐个赋值效率好.3. SET ROWCOUNT和TOP 是一样的, 包括执行的计划等都是一样的4. 这个一般是exists快, 当然, 具体还要看你后面的子查询的条件, 是否会引用外层查询中的对象的列.exists检查到有值就返回, 而且不返回结果集, count需要统计出所有满足条件的, 再返回一个结果集, 所以一般情况下exists快.5. 应该是一样的6. 基本上是一样的7. except会去重复, not in 不会(除非你在select中显式指定)except用于比较的列是所有列, 除非写子查询限制列, not in 没有这种情况8. intersect是两个查询都有的非重复值(交集), union是两个查询结果的所有不重复值(并集)2023-07-14 12:59:241
MSSQL server分布式事务解决方案
适用环境操作系统:windows 2003数据库:sql server 2000/sql server 2003使用链接服务器进行远程数据库访问的情况一、问题现象在执行分布式事务时,在sql server 2005下收到如下错误:消息 7391,级别 16,状态 2,过程 xxxxx,第 16 行无法执行该操作,因为链接服务器 "xxxxx" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。在sql server 2000下收到如下错误:该操作未能执行,因为 OLE DB 提供程序 "SQLOLEDB" 无法启动分布式事务。[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]OLE DB 错误跟踪[OLE/DB Provider "SQLOLEDB" ITransactionJoin::JoinTransaction returned 0x8004d00a]。二、解决方案1.双方启动MSDTC服务MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。2.打开双方135端口MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。使用“telnet IP 135 ”命令测试对方端口是否对外开放。也可用端口扫描软件(比如Advanced Port Scanner)扫描端口以判断端口是否开放。3.保证链接服务器中语句没有访问发起事务服务器的操作在发起事务的服务器执行链接服务器上的查询、视图或存储过程中含有访问发起事务服务器的操作,这样的操作叫做环回(loopback),是不被支持的,所以要保证在链接服务器中不存在此类操作。4.在事务开始前加入set xact_abort ON语句对于大多数 OLE DB 提供程序(包括 SQL Server),必须将隐式或显示事务中的数据修改语句中的 XACT_ABORT 设置为 ON。唯一不需要该选项的情况是在提供程序支持嵌套事务时。5.MSDTC设置打开“管理工具——组件服务”,以此打开“组件服务——计算机”,在“我的电脑”上点击右键。在MSDTC选项卡中,点击“安全配置”按钮。在安全配置窗口中做如下设置:l选中“网络DTC访问”l在客户端管理中选中“允许远程客户端”“允许远程管理”l在事务管理通讯中选“允许入站”“允许出站”“不要求进行验证”l保证DTC登陆账户为:NTAuthorityNetworkService6.链接服务器和名称解析问题建立链接sql server服务器,通常有两种情况:l第一种情况,产品选”sql server”EXEC sp_addlinkedserver@server="linkServerName",@srvproduct = N"SQL Server"这种情况,@server (linkServerName)就是要链接的sqlserver服务器名或者ip地址。l第二种情况,访问接口选“Microsoft OLE DB Provider Sql Server”或“Sql Native Client”EXEC sp_addlinkedserver@server=" linkServerName ",@srvproduct="",@provider="SQLNCLI",@datasrc="sqlServerName"这种情况,@datasrc(sqlServerName)就是要链接的实际sqlserver服务器名或者ip地址。Sql server数据库引擎是通过上面设置的服务器名或者ip地址访问链接服务器,DTC服务也是通过服务器名或者ip地址访问链接服务器,所以要保证数据库引擎和DTC都能通过服务器名或者ip地址访问到链接服务器。数据库引擎和DTC解析服务器的方式不太一样,下面分别叙述6.1数据库引擎第一种情况的@server或者第二种情况的@datasrc设置为ip地址时,数据库引擎会根据ip地址访问链接服务器,这时不需要做名称解析。第一种情况的@server或者第二种情况的@datasrc设置为sql server服务器名时,需要做名称解析,就是把服务器名解析为ip地址。有两个办法解析服务器名:一是在sql server客户端配置中设置一个别名,将上面的服务器名对应到链接服务器的ip地址。二是在“C:WINDOWSsystem32driversetchosts”文件中增加一条记录:xxx.xxx.xxx.xxx服务器名作用同样是把服务器名对应到链接服务器的ip地址。6.2DTC不管哪一种情况,只要@server设置的是服务器名而不是ip地址,就需要进行名称解析,办法同上面第二种办法,在hosts文件中增加解析记录,上面的第一种办法对DTC不起作用。如果@server设置的是ip地址,同样不需要做域名解析工作。2023-07-14 12:59:311
保护MSSQL Server 2000的十个步骤
这里介绍了为提高 SQL Server 安装的安全性,您可以实施的十件事情:安装最新的服务包。为了提高服务器安全性,最有效的一个方法就是升级到 SQL Server 2000 Service Pack 4 (SP4)。另外,您还应该安装所有已发布的安全更新。使用 Microsoft 基线安全性分析器(MBSA)来评估服务器的安全性。MBSA 是一个扫描多种 Microsoft 产品的不安全配置的工具,包括 SQL Server 和 Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)。它可以在本地运行,也可以通过网络运行。该工具针对下面问题对 SQL Server 安装进行检测:过多的sysadmin固定服务器角色成员。授予sysadmin以外的其他角色创建 CmdExec 作业的权利。空的或简单的密码。脆弱的身份验证模式。授予管理员组过多的权利。SQL Server数据目录中不正确的访问控制表(ACL)。安装文件中使用纯文本的sa密码。授予guest帐户过多的权利。在同时是域控制器的系统中运行SQL Server。所有人(Everyone)组的不正确配置,提供对特定注册表键的访问。SQL Server 服务帐户的不正确配置。没有安装必要的服务包和安全更新。使用 Windows 身份验证模式。在任何可能的时候,您都应该对指向 SQL Server 的连接要求 Windows 身份验证模式。它通过限制对Microsoft Windows用户和域用户帐户的连接,保护 SQL Server 免受大部分 Internet 的工具的侵害,。而且,您的服务器也将从 Windows 安全增强机制中获益,例如更强的身份验证协议以及强制的密码复杂性和过期时间。另外,凭证委派(在多台服务器间桥接凭证的能力)也只能在 Windows 身份验证模式中使用。在客户端,Windows 身份验证模式不再需要存储密码。存储密码是使用标准 SQL Server 登录的应用程序的主要漏洞之一。要在 SQL Server 的 Enterprise Manager 安装 Windows 身份验证模式,请按下列步骤操作:展开服务器组。右键点击服务器,然后点击属性。在安全性选项卡的身份验证中,点击仅限 Windows。详细信息,请参阅 SQL Server Books Online 或 MSDN中的“身份验证模式”。隔离您的服务器,并定期备份。物理和逻辑上的隔离组成 了SQL Server 安全性的基础。驻留数据库的机器应该处于一个从物理形式上受到保护的地方,最好是一个上锁的机房,配备有洪水检测以及火灾检测/消防系统。数据库应该安装在企业内部网的安全区域中,不要直接连接到 Internet。定期备份所有数据,并将副本保存在安全的站点外地点。分配一个强健的sa密码。sa帐户应该总拥有一个强健的密码,即使在配置为要求 Windows 身份验证的服务器上也该如此。这将保证在以后服务器被重新配置为混合模式身份验证时,不会出现空白或脆弱的sa。要分配sa密码,请按下列步骤操作:展开服务器组,然后展开服务器。展开安全性,然后点击登录。在细节窗格中,右键点击SA,然后点击属性。在密码方框中,输入新的密码。限制 SQL Server服务的权限。SQL Server 2000 和 SQL Server Agent 是作为 Windows 服务运行的。每个服务必须与一个 Windows 帐户相关联,并从这个帐户中衍生出安全性上下文。SQL Server允许sa 登录的用户(有时也包括其他用户)来访问操作系统特性。这些操作系统调用是由拥有服务器进程的帐户的安全性上下文来创建的。如果服务器被攻破了,那么这些操作系统调用可能被利用来向其他资源进行攻击,只要所拥有的过程(SQL Server服务帐户)可以对其进行访问。因此,为 SQL Server 服务仅授予必要的权限是十分重要的。我们推荐您采用下列设置:SQL Server Engine/MSSQLServer如果拥有指定实例,那么它们应该被命名为MSSQL$InstanceName。作为具有一般用户权限的 Windows 域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。SQL Server Agent Service/SQLServerAgent如果您的环境中不需要,请禁用该服务;否则请作为具有一般用户权限的Windows域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。重点: 如果下列条件之一成立,那么 SQL Server Agent 将需要本地 Windows管理员权限:SQL Server Agent 使用标准的 SQL Server 身份验证连接到SQL Server(不推荐)。SQL Server Agent 使用多服务器管理主服务器(MSX)帐户,而该帐户使用标准 SQL Server 身份验证进行连接。SQL Server Agent 运行非sysadmin固定服务器角色成员所拥有的 Microsoft ActiveX脚本或 CmdExec 作业。如果您需要更改与 SQL Serve r服务相关联的帐户,请使用 SQL Server Enterprise Manager。Enterprise Manager 将为 SQL Server 所使用的文件和注册表键设置合适的权限。不要使用 Microsoft 管理控制台的"服务"(在控制面板中)来更改这些帐户,因为这样需要手动地调制大量的注册表键和NTFS文件系统权限以及Micorsoft Windows用户权限。帐户信息的更改将在下一次服务启动时生效。如果您需要更改与 SQL Server 以及 SQL Server Agent 相关联的帐户,那么您必须使用 Enterprise Manager 分别对两个服务进行更改。在防火墙上禁用 SQL Server 端口。SQL Server 的默认安装将监视 TCP 端口 1433 以及UDP端口 1434。配置您的防火墙来过滤掉到达这些端口的数据包。而且,还应该在防火墙上阻止与指定实例相关联的其他端口。使用最安全的文件系统。NTFS 是最适合安装 SQL Server 的文件系统。它比 FAT 文件系统更稳定且更容易恢复。而且它还包括一些安全选项,例如文件和目录 ACL 以及文件加密(EFS)。在安装过程中,如果侦测到 NTFS,SQL Server 将在注册表键和文件上设置合适的 ACL。不应该去更改这些权限。通过 EFS,数据库文件将在运行 SQL Server 的帐户身份下进行加密。只有这个帐户才能解密这些文件。如果您需要更改运行 SQL Server 的帐户,那么您必须首先在旧帐户下解密这些文件,然后在新帐户下重新进行加密。删除或保护旧的安装文件。SQL Server 安装文件可能包含由纯文本或简单加密的凭证和其他在安装过程中记录的敏感配置信息。这些日志文件的保存位置取决于所安装的SQL Server版本。在 SQL Server 2000 中,下列文件可能受到影响:默认安装时systemdrive:Program FilesMicrosoft SQL ServerMSSQLInstall文件夹中,以及指定实例的systemdrive:Program FilesMicrosoft SQL Server MSSQL$Instance NameInstall文件夹中的sqlstp.log, sqlsp.log和setup.iss如果当前的系统是从 SQL Server 7.0 安装升级而来的,那么还应该检查下列文件:%Windir% 文件夹中的setup.iss以及Windows Temp文件夹中的sqlsp.log。审核指向 SQL Server 的连接。SQL Server 可以记录事件信息,用于系统管理员的审查。至少您应该记录失败的 SQL Server 连接尝试,并定期地查看这个日志。在可能的情况下,不要将这些日志和数据文件保存在同一个硬盘上。要在 SQL Server 的 Enterprise Manager 中审核失败连接,请按下列步骤操作:展开服务器组。右键点击服务器,然后点击属性。在安全性选项卡的审核等级中,点击失败。要使这个设置生效,您必须停止并重新启动服务器。2023-07-14 12:59:391
MSSQL系统安全之SA弱口令带来的安全隐患
存储过程是存储在SQLServer中的预先写好的SQL语句集合,其中危险性最高的扩展存储过程就是xp_cmdshell了,它可以执行操作系统的任何指令,而SA是Microsoft SQLServer的管理员帐号,拥有最高权限,它可以执行扩展存储过程,并获得返回值,比如执行:exec master..xp_cmdshell "net user test 1234 /add"和exec master..xp_cmdshell "netlocalgroup administrators test /add"这样对方的系统就被添加了一个用户名为test,密码为1234,有管理员权限的用户,如图一所示。现在你应该明白为什么得到SA密码,就可以得到系统的最高权限了吧。而往往不少网络管理员不清楚这个情况,为自己的SA用户起了一些诸如1234,4321等简单的密码,甚至根本就不设置密码,这样网络入侵者就可以利用一些黑客工具很轻松的扫描到SA的密码,进而控制计算机。除了xp_cmdshell,还有一些存储过程也有可能会被入侵者利用到:1、xp_regread(这个扩展存储过程可以读取注册表指定的键里指定的值),使用方法(得到机器名):DECLARE @test varchar(50)EXEC master..xp_regread @rootkey="HKEY_LOCAL_MACHINE",@key="systemcontrolset001controlcomputernamecomputername",@value_name="computername",@value=@test OUTPUTSELECT @test2、xp_regwrite(这个扩展存储过程可以写入注册表指定的键里指定的值),使用方法(在键HKEY_LOCAL_MACHINESOFTWAREaaaaaaValue写入bbb):EXEC master..xp_regwrite@rootkey="HKEY_LOCAL_MACHINE",@key="SOFTWAREaaa",@value_name="aaaValue",@type="REG_SZ",@value="bbb"如果被入侵的计算机的administrator用户可以浏览注册表中的HKEY_LOCAL_MACHINESAMSAM信息,那使用 xp_regread、xp_regwrite这两个存储过程可以实现克隆administrator用户,得到管理员权限。 xp_regdeletekey、xp_regdeletevalue也会对系统带来安全隐患。3、OLE相关的一系列存储过程,这系列的存储过程有sp_OACreate, sp_OADestroy,sp_OAGetErrorInfo,sp_OAGetProperty,sp_OAMethod, sp_OASetProperty,sp_OAStop,使用方法:DECLARE @shell INT EXEC SP_OACREATE "wscript.shell",@shell OUTPUTEXEC SP_OAMETHOD @shell,"run",null, "c:WINNTsystem32cmd.exe /c net user test1234 /add"--这样对方系统增加了一个用户名为test,密码为1234的用户,再执行:DECLARE @shell INT EXEC SP_OACREATE "wscript.shell",@shell OUTPUTEXEC SP_OAMETHOD @shell,"run",null, "c:WINNTsystem32cmd.exe /c net localgroupadministrators test /add "--用户test,被加入管理员组。解决办法:给SA起个足够复杂的密码,使网络攻击者很难破解出来。为了保险,我们还要到在 SQLServer的查询分析器中使用存储过程sp_dropextendedproc删除xp_cmdshell等存储过程,需要时再使用 sp_addextendedproc恢复即可,具体操作可以在SQLServer中查询sp_dropextendedproc和 sp_addextendedproc的使用帮助,需要注意一点的是删除OLE相关系列的存储过程,可能会造成企业管理器中的某些功能无法使用,这里笔者不建议删除。既然我们知道了SP_OACREATE的使用方法,那我们就可以到WINNT system32下找到cmd.exe,net.exe和net1.exe这三个文件,在“属性”—“安全”中把可以对他们访问的用户全部删除掉,这样就无法使用SP_OACREATE来增加系统用户了,在我们需要访问这些文件的时候再加上访问用户就可以了。2023-07-14 12:59:471
WPS和MSSQL有什么区别?
WPS 是办公软件,MSSQL 是数据库软件,WPS主要用来处理文档表格,文职用的多MSSQL是数据库软件,主要一些商业软件数据都是存储在数据库里面。2023-07-14 12:59:542
mssql数据库冗余异常
mssql数据库冗余异常的原因是数据合并了。根据查询相关公开信息显示,对于数据M:N的关系,不能将M一边或N一边合并到另一边去,这样会导致不符合范式要求,同时导致操作异常和数据冗余。2023-07-14 13:00:101
Access,MSSQL,MYSQL数据库之间有什么区别
MySQL和Access的区别 MySQL特性:很便宜,通常是免费的;网络承载少;查询优化;可以简便的应用程序通过MySQL做备份;MySQL操纵简单,易上手,且为各种不同的资料格式提供有弹性的扩展界面(ODBC)。 Access特性:简单易学,使用方便,开发效率高。 价格:MySQL对于大多数用户而言是免费的,但是如果你以内嵌的方式使用MySQL或者是只使用MySQL的商业用途软件,你才会需要支付一小笔授权费。而Access的价格更贵一些。 并发处理:Access可以处理的连接数目是无限制的,但是连接必须保持在并发处理的范围限制内;MySQL内定最大连接数为100个使用者,但是即使网络上有大量的资料往来,也不会对MySQL上的查询优化造成太大影响。 资料更新速度:在 Windows 98 上使用相同的硬件和数据尺寸,处理几十万笔资料的时候,MySQL的资料更新速度将明显快于Access; 但是如果处理对象结构,Access将会优于MySQL;当建立表格(table) 以及索引的时候,MySqL 会将表格锁住,如此一来会导致正在进行的大量资料处理速度慢下来,这会保证用户来访时的查询速度,且不会影响网站开发。 结构的优化:MySQL仅需优化硬件条件,而不是MySQL本身;Access的数据库非常的有效率,当然这也有赖于网站的结构设计;MySQL不支持外键,优化时注意如何让存取IO减少到最低值、如何让一个或多个 CPU 随时保持在高速作业的状态、以及适当的网络带宽, 而非实际上的设计以及资料查询语句。 数据备份:MySQL Dump 会产生一个比 Access 好很多而且也更可靠的备份档案。相比之下,在 Access中你只是将一个 MDB 档拷贝起来做备份。其次,即使 MySQL 的备份有部分损坏,复原起来也要比一个损坏的 MDB 档要容易得多了。 资料处理能力:MySQL的资料处理能力比Access强;eg:MySQL如果处理100MB的档案,不会发生承载过重的迹象,而Access就会造成网站效率低下。 MySQL缺点:没法处理复杂的关联性功能;不支持事务处理和事务的提交/撤销;MySQL不支持外键以及参考完整性限制,因此MySQL不适用于有复杂资料关系的应用程序,但是Access可以;而且MySQL也没有存储进程和触发器。当有许多表格需要同时在一个事务过程中完成更新的时候,MySQL的速度较慢。 MSSQL就是SQLSERVER,一般在windows平台上跟asp和asp.net结合使用。mysql一般都是在linux平台跟PHP一起结合使用,不过现在Mysql+php也移值到了Windows平台。2023-07-14 13:00:304
MSSQL和MYSQL怎么读??
读什么?2023-07-14 13:00:403
没有SQL Server(MSSQLSERVER)服务,怎么回事?
关闭防火墙重新安装2023-07-14 13:00:506
如何设置MSSQL数据库访问用户及访问权限
1.打开企业管理器.......进入sqlserver组..........安全性2.创建、选择你进行设置权限的用户,右击属性!3.点击标题栏下数据库访问,对其用户设置给予访问的数据和数据库角色.4.点击确定,完成设置MSSQL数据库访问用户及访问权限(责任编辑:winiis)2023-07-14 13:02:022
2台MSSQL服务器某数据库怎么同步?
.介绍现在的网站随着访问量的增加,单一服务器无法承担巨大的访问量,有没有什么方便快捷的方式解决这个问题呢,答案是”有”!比如建立服务器群,进行均衡负载.但是如果要解决像电信网通这样的互访问题(中国网民的悲哀..),这个解决办法就无能为力了!要解决这个问题最方便快捷的方式就是建立镜像网站!由访问者自己选择适合自己网络的速度最快的网站!这样即可以解决线路问题,又可以解决访问量问题!2.网站同步的数据分类网站数据基本分为两类:一类是文件,比如HTML,ASP,PHP等网页文件,或者RAR,ZIP,RM,AVI等可下载文件!要实现他们的同步很简单,用FTP同步软件就可以了!至于哪几个我会在后面做详细介绍.一类是数据库数据文件,比如MySQL,SQLServer等等!数据库同步的方法也很多,最简单的办法只是将数据库目录同步一下就OK了!在后面我也会做详细讲解!3.网站文件的同步在这里用到的主要工具就是FTP,网站文件同步分两种情况,一种是本地到远程,一种是远程到远程(FXP)!第一种不用说了,第二种远程到远程即FXP,支持它的软件也很多,但是真正适合多网站同步镜像的却不多!下面我介绍几个我认为不错的软件!1.首先我要推荐的是国产的FTP软件”网络传神”,功能非常强大,特别是在网站的同步镜像方面,可惜的是,这款非常经典的软件已经不再更新了,最后更新时间是2003年3月,最后一个版本是3.12!虽然如此还是非常好用的!下面是一段官方的简介:网络传神完全吸收了Cuteftp和UpdataNow的全部功能,并且增加了其他软件没有的多项功能:支持网站互传;支持网站同步(UPDATANOW);支持后台上传(多线程上传多个文件);可同时打开多个站点;多站点计划上传功能,支持镜像站点;支持宏操作支持计划操作;支持文件高级比较上传;支持目录隐藏过滤(为用ForntPage作主页的朋友带来福音);服务器自动识别功能;资源管理器浏览方式;可以自定义命令;支持RFC959标准具有更好的稳定性;完备的信息返回机制及错误监控机制完整的中文帮助。2.第二款是由ReGet同一开发公司制作的专用于网站同步的软件”WebSynchronizer”,用这款软件,你才会体验到网站同步的方便快捷,简单容易.最新版本是1.3.62,网上能找到XX的最后版本是1.1版!下面是一段简介:档案同步化工具-WebSynchronizer,由知名续传软件ReGet之软件出版公司所推出,是网站同步化、档案镜像、档案备份的绝佳工具,可以执行下列主要工作:1)本机资料夹及远程资料夹的同步化;2)两台远程计算机中的资料夹同步化;3)两个本机资料之同步化。3.其他还有一些软件如同步快梭(AutoSyncFTP),也能实现简单的网站同步,不过,这款软件非常不稳定,而且2001年就已经停止开发.所以,不用考虑了!还有上次有朋友提到的SiteMirro,由于网上找不到可以用的版本,所以没有办法测试!网络传神网站同步镜像使用傻瓜指南上次在网络技术版已经发过一个简单的使用方法介绍,如果嫌我罗嗦(o(>_<)o),大家可以参考那篇文章:http://bbs.et8.net/bbs/showthread.php?t=650129第一次运行网络传神的时候,它会让你选择”完全模式”和”启动模式”,要使用网站同步必须选择”完全模式”.进入主界面:你会发现这个软件非常像FlashGet,要使用网站同步功能,点击软件左下角的”FTP客户端”.现在你要做的就是添加你的镜像母站和需要镜像的网站:文件->站点管理,在里面添加你需要同步的几个的FTP服务器,下面我将介绍具体设置(主要是镜像母站的设置)母站设置最重要的地方就是”比较目录(网站同步)”:1.拖动传送就是手动拖动传送时候的传送方式,非拖动方式不受影响,因为母站的更新基本上是从本地目录进行的,所以建议这里选择第二项”只上传不同的文件”,镜像站点这里可以忽略2.磁盘比较设置这个功能非常有用,可以通过文件长度和文件日期进行文件差异对比.你还可以设置本地目录过滤和服务器目录过滤,非常灵活!好了,添加好母站和镜像站之后,我们来设置同步:如果是添加镜像站,则会跳出下面的母站选择窗口:设置好多个镜像站点之后,返回主界面就可以进行网站同步了:注意事项:一般不要改动镜像站点前面的“对钩”标志,因为镜像站点同步的原理是“根据主站点的同步信息更新镜像站点”,如果景象站点没有更新那么必须将该镜像站点单独同步。注意一般应该“选项窗口”-〉“FTP客户端”-〉“计划”中的“最大连接个数”和“最大线程个数”一般不要改动保持为“1”。如果同步时某个站点出错同步没有完全完成只需按“计划”窗口中的按钮单独执行某个站点的传送即可。再介绍一下网站镜像同步中必要的功能,定时同步,这样你就只要做好母站的更新,其他的让网络传神帮你完成:点击设置:进入网络传神的选项设置窗口,选中FTP客户端中的定时同步定时下载:在指定的时段内下载文件。定时上传:在指定的时段内用网站同步的方法进行上传。开始时间:如果要使用定时方式必须设置此项,在设置的时间中会自动开始所有设置为计划的站点。停止时间:如果设置此项则当系统时间大于停止时间时自动停止所有设置为计划的站点。注意:定时上传种没有“停止时间”选项,网站同步完成后会自动停止,同时网站同步同一时间只能运行一次。网络传神还有很多为便于同步镜像设置的功能,大家实际使用中去体会吧!WebSynchronizer网站同步镜像使用傻瓜指南WebSynchronizer功能非常强大,不单单是网站同步,还可以进行本地目录同步,本地到远程同步,功能方面远胜过传神,不过,国内好像没有汉化版,对于一些对英文感冒的朋友用起来会不太舒服,希望CCF里的汉化高手能将他中文化!开始运行程序,老外的软件就是智能,一打开这个软件就会有一个同步向导跳出来!在这里,你也看出来了吧,这个软件只支持两个目录间的同步.不过,我们可以创建多个项目来解决这个问题!具体我在后面介绍!这里,我们来看看如何建立两个远程目录的同步!选择第二项,进入下一个选择框:网站同步当然是选择第一项了!再进入下一步,要你选择同步的第一个服务器,建议在这里serverslist,先编辑好需要同步的几个FTP同步方式设置说明:第一项的意思是:上传下载所有改变的文件第二项的意思是:不改变文件夹内容,只下载新的文件点击下一步进行第二个服务器设置,方法和第一个一样!设置完成后,你还可以修改任务名称!我觉得这点就是这个软件非常优秀的地方,以任务的方式进行管理.非常方便!OK,现在我们就可以看到他的主界面了!还有一点要提,他的计划任务更能也很强大,在这里我就不再多说了!用过才知道他的强大!有朋友会说,我要进行两个以上的网站同步怎么办?很简单,再多建几个任务就可以了,要镜像多少网站都没有问题!这个软件的网站同步镜像可以非常灵活,比如可以本地-远程,然后再远程-远程!或者本地-远程1,本地-远程2,远程1-远程2,任何情形下的同步都可以完成!数据库同步操作指南说完了文件同步,我们再来探讨一下数据库同步!这里我主要教大家两种最常用的数据库的同步方法!MySQLMySQL数据同步主要有三种方式:1.利用MySQL自身的数据库同步功能2.利用MySQL数据库的特性(数据库存在固顶目录,并且以文件形式存储),进行数据库目录同步以达到数据同步目的3.利用专用的MySQL数据库同步软件1.利用MySQL自身的数据库同步功能(下面参考自网上的文章,写的非常详细了)MySQL从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能.数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(一般是my.cnf),在unix环境下在/etc/mysql/my.cnf或者在mysql用户的home目录下的my.cnf。windows环境中,如果c:根目录下有my.cnf文件则取该配置文件。当运行mysql的winmysqladmin.exe工具时候,该工具会把c:根目录下的my.cnf命名为mycnf.bak。并在winnt目录下创建my.ini。mysql服务器启动时候会读该配置文件。所以可以把my.cnf中的内容拷贝到my.ini文件中,用my.ini文件作为mysql服务器的配置文件。 设置方法: 设置范例环境: 操作系统:window2000professional mysql:4.0.4-beta-max-nt-log Aip:10.10.10.22 Bip:10.10.10.53 A:设置 1.增加一个用户最为同步的用户帐号: GRANTFILEON*.*TObackup@"10.10.10.53"IDENTIFIEDBY‘1234" 2.增加一个数据库作为同步数据库: createdatabasebackup B:设置 1.增加一个用户最为同步的用户帐号: GRANTFILEON*.*TObackup@"10.10.10.22"IDENTIFIEDBY‘1234" 2.增加一个数据库作为同步数据库: createdatabasebackup 主从模式:A->B A为master 修改Amysql的my.ini文件。在mysqld配置项中加入下面配置: server-id=1 log-bin #设置需要记录log可以设置log-bin=c:mysqlbakmysqllog设置日志文件的目录, #其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件。 binlog-do-db=backup#指定需要日志的数据库 重起数据库服务。 用showmasterstatus命令看日志情况。 B为slave 修改Bmysql的my.ini文件。在mysqld配置项中加入下面配置: server-id=2 master-host=10.10.10.22 master-user=backup#同步用户帐号 master-password=1234 master-port=3306 master-connect-retry=60预设重试间隔60秒 replicate-do-db=backup告诉slave只做backup数据库的更新 重起数据库 用showslavestatus看同步配置情况。 注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info 所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。 双机互备模式。 如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。 在A的配置文件中mysqld配置项加入以下设置: master-host=10.10.10.53 master-user=backup master-password=1234 replicate-do-db=backup master-connect-retry=10 在B的配置文件中mysqld配置项加入以下设置: log-bin=c:mysqllogmysqllog binlog-do-db=backup 注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slavestart 重起AB机器,则可以实现双向的热备。 测试: 向B批量插入大数据量表AA(1872000)条 A数据库每秒钟可以更新2500条数据。2.数据库目录同步,方法和文件同步一样,设置好需要同步的两个数据库目录就可以了!缺点很明显,数据同步只能单向进行,可以作为备份方案3.用专用的MySQL同步软件进行同步这方面的软件有SQLBalance和MyReplicator,优点是方便直观,还有很多争强功能!缺点和2一样,只能单项同步!当然你也可以修改镜像网站的程序为提交数据到母数据库,读取则在当前镜像下的数据,不过,修改起来麻烦!普通用户修改也非常难!呵呵,大家了解一下就可以!给大家一个思路!有能力的朋友可以试试阿!4.关于MySQL论坛的数据同步由于数据来源的不可控制(不好表达),论坛数据是实时的,而且还要考虑来自镜像论坛的数据,如何实现镜像论坛与母论坛数据同步呢?用1中介绍的MySQL自带的数据库同步功能互相备份模式就可以实现的!不过,具体的应用我没有测试!稳定性不敢保证!有能力的朋友推荐用下面这种思路来同步,相对来说减少点效率,但能减少发生的错误!比如镜像论坛数据同步:1.母论坛和镜像论坛的数据全写在母论坛数据库里,主从模式,读取只在本地读取,这个需要修改程序!2.每次写数据,都同时提交到两个数据库中,安全,但是效率很差,也得修改程序!MSSQLMSSQL数据同步利用数据库复制技术实现数据同步更新(来自网络,也是非常完美的教程)复制的概念复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。SQL复制的基本元素包括出版服务器、订阅服务器、分发服务器、出版物、文章SQL复制的工作原理SQLSERVER主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器SQLSERVER复制技术类型SQLSERVER提供了三种复制技术,分别是:1、快照复制(呆会我们就使用这个)2、事务复制3、合并复制只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。第一先来配置出版服务器(1)选中指定[服务器]节点(2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令(3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。(4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution)第二创建出版物(1)选中指定的服务器(2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会弹出一个对话框(3)选择要创建出版物的数据库,然后单击[创建发布](4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)(5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQLSERVER2000"的数据库服务器(6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表(7)然后[下一步]直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。第三设计订阅(1)选中指定的订阅服务器(2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅](3)按照单击[下一步]操作直到系统会提示检查SQLSERVER代理服务的运行状态,执行复制操作的前提条件是SQLSERVER代理服务必须已经启动。(4)单击[完成]。完成订阅操作。完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:/ProgramFiles/MicrosoftSQLServer/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表—一个手工同步的方案--定时同步服务器上的数据--例子:--测试环境,SQLServer2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test--服务器上的表(查询分析器连接到服务器上创建)createtable[user](idintprimarykey,numbervarchar(4),namevarchar(10))go--以下在局域网(本机操作)--本机的表,state说明:null表示新增记录,1表示修改过的记录,0表示无变化的记录ifexists(select*fromdbo.sysobjectswhereid=object_id(N"[user]")andOBJECTPROPERTY(id,N"IsUserTable")=1)droptable[user]GOcreatetable[user](idintidentity(1,1),numbervarchar(4),namevarchar(10),statebit)go--创建触发器,维护state字段的值createtriggert_stateon[user]afterupdateasupdate[user]setstate=1from[user]ajoininsertedbona.id=b.idwherea.stateisnotnullgo--为了方便同步处理,创建链接服务器到要同步的服务器--这里的远程服务器名为:xz,用户名为:sa,无密码ifexists(select1frommaster..sysserverswheresrvname="srv_lnk")execsp_dropserver"srv_lnk","droplogins"goexecsp_addlinkedserver"srv_lnk","","SQLOLEDB","xz"execsp_addlinkedsrvlogin"srv_lnk","false",null,"sa"go--创建同步处理的存储过程ifexists(select*fromdbo.sysobjectswhereid=object_id(N"[dbo].[p_synchro]")andOBJECTPROPERTY(id,N"IsProcedure")=1)dropprocedure[dbo].[p_synchro]GOcreateprocp_synchroas--setXACT_ABORTon--启动远程服务器的MSDTC服务--execmaster..xp_cmdshell"isql/S"xz"/U"sa"/P""/q"execmaster..xp_cmdshell""netstartmsdtc"",no_output"",no_output--启动本机的MSDTC服务--execmaster..xp_cmdshell"netstartmsdtc",no_output--进行分布事务处理,如果表用标识列做主键,用下面的方法--BEGINDISTRIBUTEDTRANSACTION--同步删除的数据deletefromsrv_lnk.test.dbo.[user]whereidnotin(selectidfrom[user])--同步新增的数据insertintosrv_lnk.test.dbo.[user]selectid,number,namefrom[user]wherestateisnull--同步修改的数据updatesrv_lnk.test.dbo.[user]setnumber=b.number,name=b.namefromsrv_lnk.test.dbo.[user]ajoin[user]bona.id=b.idwhereb.state=1--同步后更新本机的标志update[user]setstate=0whereisnull(state,1)=1--COMMITTRANgo--创建作业,定时执行数据同步的存储过程ifexists(SELECT1frommsdb..sysjobswherename="数据处理")EXECUTEmsdb.dbo.sp_delete_job@job_name="数据处理"execmsdb..sp_add_job@job_name="数据处理"--创建作业步骤declare@sqlvarchar(800),@dbnamevarchar(250)select@sql="execp_synchro"--数据处理的命令,@dbname=db_name()--执行数据处理的数据库名execmsdb..sp_add_jobstep@job_name="数据处理",@step_name="数据同步",@subsystem="TSQL",@database_name=@dbname,@command=@sql,@retry_attempts=5,--重试次数@retry_interval=5--重试间隔--创建调度EXECmsdb..sp_add_jobschedule@job_name="数据处理",@name="时间安排",@freq_type=4,--每天@freq_interval=1,--每天执行一次@active_start_time=00000--0点执行go2023-07-14 13:02:091
mssql数据库的用户名和密码是什么啊?
你连接到了吗?试试把MICROSOF-22F787SQLEXPRESS改成localhost2023-07-14 13:02:205
MSSQLServer能不能卸载?如何卸载?
首先打开控制面板找到程序卸载,进入,将如图所示卸载程序;安装WindowsInstallerCleanUp.(msicuuexe文件)。第一,程序文件和数据文件的卸载。如果SQLServer是默认安装,程序文件和数据文件在同一路径下,如下:找到后将整个MicrosoftSQLServer文件夹全部删除掉。程序文件和数据文件的卸载。如果SQLServer是默认安装,程序文件和数据文件在同一路径下,如下:C:ProgramFilesMicrosoftSQLServerMSSQL然后将整个MicrosoftSQLServer文件夹全部删除掉。点击计算机右下角“开始”,点击“控制面板”,打开“卸载程序”。在程序列表中找到“MicrosoftSQLServer2012”,右击选“卸载”(或双击)。点击“删除”。选择后,程序会进行准备,并弹出提示窗口。用控制面板先将SQLServer卸载。2开始--运行--输入指令“regedit”,打开注册表编辑器。2023-07-14 13:02:481
MSSQLServer能不能卸载?如何卸载?
如果不用会计软件当然可以把它卸载掉……这是数据库软件,会计软件要依靠它……我现在头疼,卸载没卸载干净……怎么装都装不上去……似乎是xp的bug……你却要卸载……哈哈……2023-07-14 13:02:562
如何修改MSSQL默认端口
为了安全,需要把默认端口修改。MSSQL默认端口:1433。在MSSQL所有版本,修改方法都一样:-- 打开MSSQL - SQL Server 配置管理器-- 展开SQL Server 网络配置:MSSQLSERVER 的协议 - TCP/IP-- 打开TCP/IP - IP地址,修改TCP端口中的"1433"。修改后,重启SQL Server服务 - SQL Server (MSSQLSERVER),右键重启即可2023-07-14 13:04:451
MYSQL与MSSQL的区别及优劣比较?
MSSQL没见过啊2023-07-14 13:05:074
sql server 2008里面没有MSSQLSERVER怎么回事儿?应该怎么解决?
只要有sqlserver(xxx)这样的服务即可,xxx是实例名,如果是默认实例名的话就是mssqlserver命名实例名的话就是其他自定义的,如果没有的话说明没安装数据库实例2023-07-14 13:05:351
如何启动SQL SERVER服务?
你没有安装上,可能你安装过程中有问题。我建议你重新再安装一次试试2023-07-14 13:05:5413
如何通过MSSQL查询分析器执行SQL脚本
1.打开MSSQL查询分析器 2.连接到SQL SERVER3.讲sql执行脚本复制到右边的执行查询窗口中4.点击窗口上方的按钮,执行脚本2023-07-14 13:06:461
MYSQL与MSSQL有什么区别?
区别如下:MSSQL就是SQLSERVER,一般在windows平台上跟asp和asp.net结合使用。mysql一般都是在linux平台跟PHP一起结合使用,不过现在Mysql+php也移值到了Windows平台。2023-07-14 13:06:562
SQL Server(MSSQLSERVER)无法启动怎么解决?
解决不了ya,楼主2023-07-14 13:07:056
请问什么是MS SQL数据库?
microsoft sqlserver平时所说的SQL Server数据库2023-07-14 13:08:302
MSSQL和MYSQL有什么区别?
两者适用于不同的程序,大体上有以下区别:MS_SQL是微软的那个SQL Server,运行于windows 2003,2008,2012等平台,一般跟asp和asp.net结合使用,也可以作为其他程序的数据库 MySQL是个开源的数据库Server,可运行在windows平台、unixlinux平台,一般跟PHP一起结合使用 比较:1、MS_SQL体积大,MySQL体积小;2、MS_SQL只能用在Windows下,MySQL是多平台的;3、MySQL是专为WEB数据库设计的,特点是响应速度特别快。MS_SQL在这方面当然比不上。 4、MS_SQL是对于中小数据量进行处理,MySQL只针对小数据量进行处理,如果你的数据量相对大的话建议你选择MS_SQL。云立方网 网络工程师黄子益为您解答,需要进一步解答请追问。2023-07-14 13:08:391
sql server无法启动出错1068
房地产非常干脆2023-07-14 13:08:483
MS-SQL 是甚麼
MS SQL是指微软的SQL Server数据库服务器,ms就是microsoft缩写,还有其他几种数据库类型,如mysql和access。对于php和joomla的网站管理系统是可以搭配mssql数据库的,当然还有其他的也行,看网站类型吧2023-07-14 13:09:144
MSDE和MSSQL有什么区别
MSDE的全称是Microsoft SQL Server Desktop Engine,它是一个基于 SQL Server 核心技术构建的数据引擎。MSDE 2000 支持单处理器和双处理器,是面向小型应用程序桌面扩展的可靠的存储引擎和查询处理器。MSDE与SQL Server完全兼容,并且MSDE是免费的。SQL Server系列产品具有各种发行版本,用以满足在不同的环境下对处理的数据量、并发用户数和硬件的不同要求。一般来说,MSDE适合在并发用户数小于5人,数据量低于2GB的情况下使用。当数据量和并发用户数超过上面的配额的时候,SQL Server成为了更好的选择。由于MSDE与SQL Server完全兼容,开发人员可以使用同样的数据访问语言在规模相对较小的MSDE数据库系统和规模较大的SQL Server数据库系统之间实现无缝转换,并且,当所在组织的规模扩大后对数据库系统的功能和性能提出新的需求时,则可以在不修改现有数据库应用程序中的任何代码的情况下,将它完全移植到基于SQL Server的平台上运行。2023-07-14 13:09:231
什么是数据库???MSSQLServer数据库
数据库就是表和表之间的关系的集合笼统的说的创建数据库:createtable表名(放字段);建一个学生表createtableStudent(intSid;学号varcharSname姓名intage年龄);数据库的备份和还原涉及到数据管理了还需需要努力建立存储过程:createproc存储过程名as要执行的语句goexec存储过程名--------调用存储过程列如:createprocasselect*fromstudentgoexec;就可以得到所有学生的信息2023-07-14 13:09:301
为什么mysql数据库比mssql数据库便宜
mysql的东西是开源的,所有源代码都可以在网上下载,mssql是微软的,微软的东西都是要钱。2023-07-14 13:09:371
MSSQL和MYSQL和SQL 2005有什么区别?是一样吗?
MSSQL就是SQL Server系列的简称,有2000,2005,2008和2012~SQL 2005是SQL Server 2005的简称。MYSQL是另外一个小型数据库软件的名字。2023-07-14 13:09:442
- 看看是不是你的启动账号有问题.到windows的事件查看器里面找找错误日志.里面有详细的错误原因.开始-->管理工具-->事件查看器-->Windows日志-->应用程序.2023-07-14 13:10:001
mssql和sqlserver是什么关系?
学习下2023-07-14 13:10:104
如何开启SQL服务
计算机管理开启服务(一)1找到SQL Sever服务。在计算机管理框里找到Sql sever配置管理器找到Sql Sever服务打开服务,这里有几种服务,这些服务都是自己安装数据库时装上的。2打开启动SQL Sever服务。右键点击服务,这里要看清楚什么才是服务,小技巧:服务器的图标是一个库的样式,启动它就可以了。ENDSQL文件目录启动服务(二)1找到SQL安装目录。点击【开始】--【所有文件】--【Microsoft SQL Server 2008】--【配置工具】--【SQL Server 配置管理器】。如下图:2在Sql Sever配置管理框开启服务。下面是数据库服务配置管理框,找到我们需要使用的数据库服务,右键开启它,这样就可以使用了。ENDDOS命令开启服务(三)1打开DOS命令框。点击【开始】--【运行】--输入:CMD 命令。2在命令框输入字符命令。我们成功打开命令框后,在命令框里输入:net start mssqlserver 启动Sql服务器,同理net stop mssqlserver 是停止服务器。3恭喜你,成功开启SQL服务器。4检验是否开启服务。安装上面方法一或者二都可以,下面是我的查看的结果:成功开启服务,如果想关闭服务,使用一行代码就可以了。温馨提示下,DOS命令开启服务有很多容易错处点,这里面还有很多知识,更多的可以自己去学习下。5关闭数据库服务。使用完成后记得关闭服务,很占内存的。关闭方式命令:net stop mssqlserver。效果如下图看看试试如何:END易错地点1开启服务选错,看清哪个才是SQL Sever服务。2DOS命令输入错误,再检查下。2023-07-14 13:10:191
mssql 没人用了
有人用,只是用MSSQL的人没MYSQL多。MSSQL是微软推出的商用数据库系统,全称是MicrosoftSQLSever,需要收费的。而MySQL是一个免费的,开放源代码的SQL数据库,所以免费的MYSQL很受欢迎。2023-07-14 13:10:261
mssql 端口是多少
14332023-07-14 13:10:474
MSSQL数据库如何连接和管理
1、打开Sql Server企业管理器2、右键选择“新建Sql Server 注册”3、在“服务器”处填入主机IP或域名,在“连接”处理选择“使用sql server 身份验证”,然后输入数据库登录名和密码。点击“确定”后可连接至远程服务器数据库打开“数据库”,选择相应的数据库后即可进行数据库的操作2023-07-14 13:10:541
mssql是不是sqlserver
不是的,是两个数据库语言哦~2023-07-14 13:11:012
mssql数据库是什么?
全称是Microsoft SQL Server楼上的懂不懂啊,就抄一堆东西来2023-07-14 13:11:134