本文主要内容属转载,但笔者根据该文内容测试成功,故分享于此。
笔者实验环境:Windows Server 2003 Enterprise Edition。
先给出原文链接,稍后调整。
原文链接为:http://www.shilai.cn/2007/5/6/problems-of-installing-sql2005.aspx ......
最近,因个人电脑硬盘损坏,新购入了500G的大硬盘,安装了windows7,在win7上安装了多个虚拟xp机,虚拟机与实际的机器(主机)组成了一个局域网,实现在虚拟机中通过远程连接主机的sql server.现将我的试验过程介绍如下,供有兴趣尝试的大侠参考.
1. 安装虚拟机环境.
先安装window7.0旗舰版 (专业与企业版也可),再到微软下载虚拟xp的相关组件安装虚拟xp模式,复制多个已安装好的winxp模式的文件,再打开,修改虚拟机名称,可同时模拟多台xp模式的虚拟机.组成一个局域网.特别说说虚拟机的网络设置,虚拟机默认网络是共享网络模式,看不到主机,必须将其修改为 <网络适配器名称>的模式,才能象普通机器一样与主机相连.设置方法:
(1) 先关虚拟机, 从虚拟机窗口的工具栏中单击 Ctrl+Alt+Del。或者,还可以按 Ctrl+Alt+End 组合键。弹出对话框,点关机按钮关闭虚拟机
(2) 在“虚拟机”文件夹中,右键单击虚拟机的名称,然后单击“设置”。弹出设置窗口,先网络项,将右边适配器组合框的选项由共享网络改为对应主机的网卡.
(3) 再启动虚拟机即可.此时在虚拟机的网上邻居中应可查到主机.
2. 安装sql server,个人在主机安装了sql server2008开发 ......
从官网下载SQL Server 2008的180天试用版其实与正式版内容是基本相同的,唯一的区别就在于安装配置文件中所包含的key。各种版本的SQL Server在进行到这一步之前都是完全一样的:
Microsoft® SQL Server® 2008 Enterprise Evaluation:开发人员试用体验
Microsoft® SQL Server® 2008 Enterprise Evaluation:IT 专业人员试用体验
Microsoft® SQL Server® 2008 Express
Microsoft® SQL Server® 2008 Express with Tools
如果你没有序列号,那么就只能在上面的三种free edition(Enterprise Evaluation、Express、Express with Advanced Service)中选择其一。如果在下面填入序列号,那么就会安装此序列号所对应的SQL版本,这一点和Windows Server 2008是相似的。
提供给大家几个key,仅供学习,请不要用作他用。
Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB
Enterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBB
Microsoft.SQL.Server.2008.Developer.Edition
PTTFM-X467G-P7RH2-3Q6CG-4DMYB
Microsoft.SQL.Server.2008.Enterprise.Edition
JD8Y6-HQG69-P9H84-XDTPG-34MBB
Microsoft.SQL.Server.2008.Standard.Edition
FX ......
在SQL Server中,如果把表的主键设为identity类型,数据库就会自动为主键赋值。例如:
create table customers (
id int identity(1,1) primary key not null,
name varchar(15)
);
insert into customers(name) values("name1"),("name2");
select id from customers;
查询结果为:
id
---
1
2
由此可见,一旦把id设为identity类型,MS SQLServer数据库会自动按递增的方式为主键赋值。identity包含两个参数,第一个参数表示起始值,第二个参数表示增量。
......
建立表:
CREATE TABLE [TestTable] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Note] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
插入数据:(2万条,用更多的数据测试会明显一些)
SET IDENTITY_INSERT TestTable ON
declare @i int
set @i=1
while @i<=20000
begin
insert into TestTable([id], FirstName, LastName, Country,Note) values(@i, 'FirstName_XXX','LastName_XXX','Country_XXX','Note_XXX')
set @i=@i+1
end
SET IDENTITY_INSERT TestTable OFF
-------------------------------------
分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
from TestTable
WHERE (ID NOT IN
(SELECT TOP 20 id
&nb ......
create function fun_getPY(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--如果非汉字字符,返回原字符
set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
then (select top 1 PY from (
select 'A' as PY,N'驁' as word
union all select 'B',N'簿'
union all select 'C',N'錯'
union all select 'D',N'鵽'
union all select 'E',N'樲'
union all select 'F',N'鰒'
union all select 'G',N'腂'
union all select 'H',N'夻'
union all select 'J',N'攈'
union all select 'K',N'穒'
union all select 'L',N'鱳'
union all select 'M',N'旀'
union all select 'N',N'桛'
union all select 'O',N'漚'
union all select 'P',N'曝'
union all select 'Q',N'囕'
union all select 'R',N'鶸'
union all select 'S',N'蜶'
union all select 'T',N'籜'
union all s ......