sql server数据库

时间:2024-06-29 20:47:48编辑:coo君

SQLserver数据库有什么特征?

(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。


sqlserver数据库与oracle数据库有什么区别?

着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高。Oracle数据库在大多数企业中受到广泛使用,而SQL Server数据库也因为和Windows的联系,在企业中的使用也是非常广泛。

操作系统的稳定对数据库来说是十分紧要的,在数据库可操作平台上,Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。对开发商来说是很大的支持。而SQL Server却只能在Windows上运行了,这个就显得比较单调了,但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性,和Microsoft开发平台的整合性都比Oracle强的很多。但Windows操作系统的稳定性及可靠性大家是有目共睹的,再说Microsoft公司的策略目标是将客户都锁定到Windows平台的环境当中,只有随着Windows性能的改善,SQL Server才能进一步提高。从操作平台这点上Oracle是完全优胜于SQL Server的了。

从资料上可以看到,Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。这方面证明了Oracle的安全性是高于SQL Server的。

购买一个产品,首先考虑的当然是产品的性能了,当考虑性能的同时当然少不了究竟要花多少钱在这产品也是个很关键的问题。要建立并运行一个数据库系统。不仅仅包含最初购置软件、硬件的费用,还包含了培训及以后维护的费用。Orcale数据库的价格是远比SQL Server数据库要高,为什么Oracle数据库比SQL Server数据库价格上要高出那么多,一方面Oracle的初始花费相对较高,特别是在考虑工具软件的时候,Oracle很多工具软件需要另外购买,与Microsoft提供免费的SQL Server工具软件相比,Oracle更显价格的不菲。但由于SQL Server只能在Windows下运行的原因,普遍认为SQL Server数据库的可靠性是比较差的。Oracle的性能优势体现在他的多用户上,而SQL Server的性能优势在多用户上就显得力不从心了。

操作上SQL Server明显要比Orcale简单,如果你用过Java和DOTNET的开发平台,区别的基本就是Oracle和SQL Server不同,Oracle的界面基本是基于Java的,大部分的工具是Dos界面的,甚至SQLPlus也是, SQL Server是跟VB一样,全图形界面,很少见到DOS窗口。SQL Server中的企业管理器给用户提供一个全图形界面的集成管理控制台来集中管理多个服务器。Oracle也有自己的企业管理器,而且它的性能在某些方面甚至超过了SQL Server的企业管理器,但它安装较为困难。

Orcale数据库和SQL Server数据库那个更快?其实是一个很难答的问题,因为存在许多不定因素,包括处理类型、数据分布以及硬件基础设施等。

SQL Server 2000是一个具备完全Web支持的数据库产品,提供了可扩展标记语言核心支持以及Internet上和防火墙外进行查询的能力,具有可伸缩性、灵活性、扩充性好,而且价格便宜等特点,而Oracle则有着可靠安全性,速度比SQL Server快上百倍,但其价格在实施中却比SQL Server它高出了几百倍。

其实各行业考虑选择那种数据库,是由数据库的特点以及根据自己的业务需求和基础设施综合考虑来决定的。

oracle中有复合数据类型 sql server中没有
声明方式:变量名 对象名%type
这里的变量类型可以是所有以存在的数据类型,具有依赖性 ,存储过程中用这种变量比较灵活,但效率应该会低些

oracle存储过程中借助cursor类型变量返回并访问记录集 sql server中我没用过类似功能

oracle里这么用:存储过程中边查询边给变量赋值
select 某一列名 into 变量名 from table where ..;
相当于oracle中的select 变量名=列....


如何导出sqlserver数据库

方法:第一步:查看需要备份的数据库登入SQL Server Management Studio后,在右侧打开树状图可以看到相关数据库。如下图:第二步:数据库脱机选中需要备份的数据库后,选中“任务”->“脱机”,脱机时候,必须关掉表、查询等,操作步骤如下图:第三步:确认脱机成功脱机这一步很重要,因为不脱机,直接复制这两个文件会报错,所以必须得脱机。请确保出线一下提示界面,才能保证脱机成功。4、第四步:复制备份文件进入数据库安装目录,相对位置如“\Microsoft SQL Server\MSSQL.1\MSSQL\Data”文件夹,在这个文件夹内,选择要复制的数据库文件(.mdf和.ldf),然后粘贴到需要备份的地方即可。如下图:

sqlserver 中怎么导出数据库中的数据

  在涉及到SQL Server编程或是管理时一定会用到数据的导入与导出, 导入导出的方法有多种,结合我在做项目时的经历做一下汇总:

  1. SQL Server导入导出向导,这种方式是最方便的.

  导入向导,微软提供了多种数据源驱动,包括SQL Server Native Cliant, OLE DB For Oracle,Flat File Source,Access,Excel,XML等,基本上可以满足系统开发的需求.

  同样导出向导也有同样多的目的源驱动,可以把数据导入到不同的目的源.

  对数据库管理人员来说这种方式简单容易操作,导入时SQL Server也会帮你建立相同结构的Table.

  2. 用.NET的代码实现(比如有一个txt或是excel的档案,到读取到DB中)

  2.1 最为常见的就是循环读取txt的内容,然后一条一条的塞入到Table中.这里不再赘述.

  2.2 集合整体读取,使用OLEDB驱动.

  代码如下:

  

  复制代码
  代码
  string strOLEDBConnect = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\1\;Extended Properties='text;HDR=Yes;FMT=Delimited'";
  OleDbConnection conn = new OleDbConnection(strOLEDBConnect);
  conn.Open();
  SQLstmt = "select * from 1.txt";//读取.txt中的数据
  DataTable dt=new DataTable();
  OleDbDataAdapter da = new OleDbDataAdapter(SQLstmt, conn);
  da.Fill(dt);//在DataSet的指定范围中添加或刷新行以匹配使用DataSet、DataTable 和IDataReader 名称的数据源中的行。
  if(dt.Rows.Count>0)
  foreach(DataRow dr in dt.Rows)
  {
  SQLstmt = "insert into MyTable values('" + dr..."
  复制代码
  

  

  3.BCP,可以用作大容量的数据导入导出,也可以配合来使用.

  语法:

  复制代码
  代码
  bcp {[[database_name.][schema].]{table_name | view_name} | "query"}
  {in | out | queryout | format} data_file
  [-mmax_errors] [-fformat_file] [-x] [-eerr_file]
  [-Ffirst_row] [-Llast_row] [-bbatch_size]
  [-ddatabase_name] [-n] [-c] [-N] [-w] [-V (70 | 80 | 90 )]
  [-q] [-C { ACP | OEM | RAW | code_page } ] [-tfield_term]
  [-rrow_term] [-iinput_file] [-ooutput_file] [-apacket_size]
  [-S [server_name[\instance_name]]] [-Ulogin_id] [-Ppassword]
  [-T] [-v] [-R] [-k] [-E] [-h"hint [,...n]"]
  复制代码
  

  请注意数据导入导出的方向参数:in,out,queryout

  如:

  

  

  

  如:

  

  

  4.BULK INSERT. T-SQL的命令,允许直接导入数据

  语法:

  

  复制代码
  BULK INSERT
  [ database_name. [ schema_name ] . | schema_name. ] [ table_name | view_name ]
  FROM 'data_file'
  [ WITH
  (
  [ [ , ] BATCHSIZE =batch_size ]
  [ [ , ] CHECK_CONSTRAINTS ]
  [ [ , ] CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]
  [ [ , ] DATAFILETYPE =
  { 'char' | 'native'| 'widechar' | 'widenative' } ]
  [ [ , ] FIELDTERMINATOR = 'field_terminator' ]
  [ [ , ] FIRSTROW = first_row ]
  [ [ , ] FIRE_TRIGGERS ]
  [ [ , ] FORMATFILE ='format_file_path' ]
  [ [ , ] KEEPIDENTITY ]
  [ [ , ] KEEPNULLS ]
  [ [ , ] KILOBYTES_PER_BATCH =kilobytes_per_batch ]
  [ [ , ] LASTROW =last_row ]
  [ [ , ] MAXERRORS =max_errors ]
  [ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
  [ [ , ] ROWS_PER_BATCH =rows_per_batch ]
  [ [ , ] ROWTERMINATOR ='row_terminator' ]
  [ [ , ] TABLOCK ]
  [ [ , ] ERRORFILE ='file_name' ]
  )]
  复制代码
  

  

  重要参数:

  

  FIELDTERMINATOR,字段分隔符

  FIRSTROW:第一个数据行

  ROWTERMINATOR:行终结符

  如:

  BULK INSERT dbo.ImportTest
  FROM 'C:\ImportData.txt'
  WITH ( FIELDTERMINATOR =',', FIRSTROW = 2 )

  

  5. OPENROWSET也是T-SQL的命令,包含有DB连接的信息和其它导入方法不同的是,OPENROWSET可以作为一个目标表参与INSERT,UPDATE,DELETE操作.

  语法:

  

  复制代码
  OPENROWSET
  ( { 'provider_name', { 'datasource';'user_id';'password'
  | 'provider_string' }
  , { [ catalog. ] [ schema. ] object
  | 'query'
  }
  | BULK 'data_file',
  { FORMATFILE ='format_file_path' [ ]
  | SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB }
  } ) ::=
  [ , CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]
  [ , ERRORFILE ='file_name' ]
  [ , FIRSTROW = first_row ]
  [ , LASTROW = last_row ]
  [ , MAXERRORS = maximum_errors ]
  [ , ROWS_PER_BATCH =rows_per_batch ]
  复制代码
  

  

  

  如:

  INSERT INTO dbo.ImportTest
  SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
  'Excel 8.0;Database=C:\ImportData.xls', 'SELECT * FROM [Sheet1$]') WHERE A1 IS NOT NULL

  

  

  6.OPENDATASOURCE

  语法:

  OPENDATASOURCE ( provider_name,init_string )
  如:

  INSERT INTO dbo.ImportTest
  SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
  'Data Source=C:\ImportData.xls;Extended Properties=Excel 8.0')...[Sheet1$]

  

  7.OPENQUERY.是在linked server的基础上执行的查询.所以执行之前必须先建立好link server.OPENQUERY的结果集可以作为一个table参与DML的操作.

  

  语法:

  OPENQUERY (linked_server ,'query')
  如:

  EXEC sp_addlinkedserver 'ImportData',
  'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0',
  'C:\ImportData.xls',
  NULL,
  'Excel 8.0'
  GO

  

  INSERT INTO dbo.ImportTest
  SELECT *
  FROM OPENQUERY(ImportData, 'SELECT * FROM [Sheet1$]')


sqlserver一个数据库4个表怎么创建?

master
tempdb
model
msdb
在实例中默认显示为4个,有一个是隐藏的Resource记录系统表信息

系统数据库 说明
master 数据库 记录 SQL Server 实例的所有系统级信息。
msdb 数据库 用于 SQL Server 代理计划警报和作业。
model 数据库 用作 SQL Server 实例上创建的所有数据库的模板。对 model
数据库进行的修改(如数据库大小、排序规则、恢复模式和其他数据库选项)将应用于以后创建的所有数据库。
Resource 数据库 一个只读数据库,包含 SQL Server 包括的系统对象。系统对象在物理上保留在 Resource 数据库中,但在逻辑上显示在每个数据库的
sys 架构中。
tempdb 数据库 一个工作空间,用于保存临时对象或中间结果集


如何查看sqlserver数据库版本

打开sqlserver管理器,连接进入数据库,然后点击“新建查询”。
在编辑区输入“select @@version”,然后右键选择“执行”。
在下方“结果”中可看到所用sqlserver数据库工具的相关信息。如图,可以看到是“Microsoft SQL Server 2005的开发版”,版本号是“9.00.1399.06”,系统是“windows NT 6.1”。

还有一种方法是在打开的资源管理器中的数据库根节点处右键,然后点击“属性”。
然后在弹出的“属性”窗口点击“常规”选项,即可看到相关的信息了。

在打不开sqlserver时,还可以通过控制面板查看版本信息。(方法:依次点击“开始”→“控制面板”→“卸载程序”,然后找到sqlserver程序就可以查看了)


如何查看sqlserver数据库文件位置

  查看sqlserver数据库文件的位置,有两种情况,一是在创建时就修改了数据库的位置,二是在默认位置,下面就来看一下如何查看数据库文件所在的位置

  工具/材料
  Microsoft SQL Server Management Studio 2008

  方法:
  1、以Book数据库为例。
  打开并成功登录数据库之后,找到所要查找的数据库Book数据库,选中Book数据库,右击—>属性

  2、点击属性之后,会出现下面这个窗口,在左上角有一个“选择项”-->文件-->
  "路径",在“路径”这一列就可以看到数据库文件所在的位置了。


上一篇:冰与火的青春电视剧

下一篇:兄弟标签机