标签: sql-server-2008r2-express

如何将excel文件导入sqlserver 2008

如何在不使用导入向导的情况下使用sql查询将excel文件导入sqlserver2008 express版中的新表

谢谢Prady

sql sql-server-2008 sql-server-2008r2-express

4
推荐指数
1
解决办法
3万
查看次数

无法升级到Microsoft SQL Server2008 R2 RTM - Express with Advanced Services

我正在尝试将当前的Express版本升级为Express with Advanced Services以支持全文搜索.

目前的系统设置是:

  • 操作系统版本:Windows server 2008 R2 Web服务器64位
  • SQL Server 2008 R2 Express,SP1,v10.50.2500.0

我已经下载了带有高级服务的SQL Server.我无法升级版本.安装步骤没有任何问题,甚至获得版本升级完成页面.但是一旦我点击关闭此页面,就会弹出一个错误.

SQL Server安装程序遇到以下错误:在创建窗口句柄之前,无法在控件上调用Invoke或BeginInvoke.

有人可以帮助我到正确的方向吗?

我可以看到带有高级服务的SQL Server Express版本是10.50.1600.1.这是原因吗?那么在升级之前我应该​​将sp1降级到正常的Express r2版本吗?

带有高级服务的Express的下载链接http://www.microsoft.com/download/en/details.aspx?id=25174

upgrade begininvoke sql-server-2008r2-express

3
推荐指数
1
解决办法
3270
查看次数

如何使用T-SQL脚本将数据库用户加入db_owner角色?

我使用SQL SERVER 2008 R2 Express.

我正在myDatabase使用以db owner username 命名的数据库的新项目myUsernamae.

我想使用ALTER ROLE而不是sp_addrolemember由于Microsoft的关于sp_addrolemember(Transact-SQL)的消息:

重要此功能将在Microsoft SQL Server的未来版本中删除.避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序.请改用ALTER ROLE.

我试过了

USE [myDatabase]
GO

ALTER ROLE [db_owner] ADD MEMBER [myUsername]
GO
Run Code Online (Sandbox Code Playgroud)

但我不断收到此错误消息:

关键字"ADD"附近的语法不正确.

什么是正确的语法?

sql t-sql sql-server sql-server-2008r2-express

3
推荐指数
1
解决办法
4686
查看次数

SQL Server 2008 OLE DB连接从外部失败

我在云计算机上的Windows 2008服务器上安装了一个有效的SQL Server 2008 R2 Express.除了OLEDB之外,来自多个客户端应用程序的所有类型的连接(ado.net,nhibernate等)都可以正常工作.SQL Native Client也可以正常工作.

当我尝试从本地服务器连接并作为数据源写入实例名称时,一切正常.但是从外面来看,我遇到了问题,或者如果我写的是万能或者dns,我也有问题来自当地.

-- works perfect from everywhere
Provider=SQLNCLI10;Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx; 

-- does not work from anywhere
Provider=SQLOLEDB.1;Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx;

-- works only from local
Provider=SQLOLEDB.1;Data Source=flz001\sqlexpress;User ID=xxx;Password=xxx;
Run Code Online (Sandbox Code Playgroud)

错误:[DBNETLIB] [ConnectionOpen(Invalid Instance()).连接无效.

-- works perfect with ado.net
Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx
Run Code Online (Sandbox Code Playgroud)

其他一些客户端应用程序(不是我的)使用oledb连接编写,因此我需要它们将db与oledb提供程序连接起来.

有任何想法吗?

问候,Mert

oledb connection sql-server-express sql-server-2008r2-express

2
推荐指数
1
解决办法
5458
查看次数

如何检查我的SQL Server Express数据库是否超过10 GB的大小限制?

我正在开发一个网站,它使用SQL Server 2008 R2 Express作为其数据库.在测试中,有大量数据和图像存储在此数据库中.

据wiki称,SQL Server Express版本的大小限制为10 GB.当我插入数据并达到限制时,将抛出什么异常?或者,如何通过代码检测接近极限问题?

我使用EF 5和代码优先的方法来插入大数据集.

c# sql-server entity-framework sql-server-2008r2-express entity-framework-5

2
推荐指数
1
解决办法
7035
查看次数

慢的SQL事务块表

我有一个非常慢的sql事务,它将在表中插入新行。来自其他连接的所有其他“选择”查询都将等待此操作来解锁表。

在第一个事务有效时,是否可以从表中获取旧行?

SqlExpress 2008 R2。例如:

    private void button1_Click(object sender, EventArgs e)
    {
        System.Threading.Thread t = new System.Threading.Thread(
            delegate()
            {
                var conn = new SqlConnection(@"Data Source=ARTNB\SQLEXPRESS;Initial Catalog=test;User ID=**;Password=******");
                conn.Open();
                var cmd = conn.CreateCommand();
                var tr = conn.BeginTransaction( IsolationLevel.RepeatableRead, "test");
                cmd.Transaction = tr;
                cmd.CommandText = @"INSERT INTO Cards (SerialNumber,OperationID,TariffID,RequestTime,State,AgentInfo) VALUES('1213','345',13, GETDATE(),1,'')";
                cmd.ExecuteNonQuery();
                //very slow transaction
                System.Threading.Thread.Sleep(300000);
                tr.Commit();
                conn.Close();
            });
        t.Start();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        var conn = new SqlConnection(@"Data Source=ARTNB\SQLEXPRESS;Initial Catalog=test;User ID=**;Password=******");
        conn.Open();
        var cmd = conn.CreateCommand();
        var …
Run Code Online (Sandbox Code Playgroud)

sql-server transactions isolation-level sql-server-2008r2-express

1
推荐指数
1
解决办法
1500
查看次数

FROM子句中的嵌套select语句?内部联接声明?还是只是表名?

我正在构建一个需要来自5个表的数据的查询.过去,DBA告诉我,从某些性能/内存方面来看,指定列列表与获取所有列(*)是首选.我还被告知,当FROM子句中有一个表列表时,数据库会在幕后执行JOIN操作,以创建一个表(或视图).

现在的数据库目前只有非常少的数据,因为我们处于一个非常初始的阶段.所以不确定我能否在实践中衡量性能.我不是数据库专家.我可以得到我需要的数据.dillema是以什么价格出售的.

补充:目前我正在使用MS SQL Server 2008 R2.

我的问题是:

  1. 以下是否存在性能差异以及原因:a.SELECT ... FROM tbl1,tbl2,tbl3等为简单起见?(不知怎的,我觉得这可能会影响性能)b.SELECT ... FROM tbl1 inner join tbl2 on ... inner join tbl3 on ... etc(这会对服务器更加明确并节省性能/内存)吗?C.SELECT ... FROM(从tbl1中选择x,y,z)作为t1内连接...等(这会保存anythig吗?还是只是为服务器和我们创造更多工作的额外选择语句)?

  2. 有没有更好的方法来做到这一点?

下面是两个查询,它们都获得了我需要的数据片段.一个包含更多嵌套的select语句.

如果他们不是以标准形式编写或无助地过于复杂,我会道歉 - 希望你能破译.我尽量让他们保持井井有条.

洞察力也将受到最多的赞赏.谢谢你检查一下.

5个表:设备池,用户,旅行,TripTracker和订单

查询1(更多选择语句):

SELECT
      username, 
      base.devid devid, 
      tripstatus, 
      stops, 
      stopnumber, 
      [time], 
      [orderstatus], 
      [destaddress]

FROM    
((
 (  SELECT 
           username, 
           devicepool.devid devid,
           groupid
    FROM
           devicepool INNER JOIN users 
           ON devicepool.userid = users.userid 

     WHERE devicepool.groupid = 1
 ) 
 AS [base] 

 INNER JOIN

 (
      SELECT 
              tripid, 
              [status] tripstatus, 
              stops, 
              devid,
              groupid …
Run Code Online (Sandbox Code Playgroud)

select nested-queries sql-server-2008r2-express

1
推荐指数
1
解决办法
4847
查看次数

什么是在C#中打开/关闭SqlConnection的最佳方法

我想知道这可能是打开一个最好的方法SqlConnectionSql Server 2008R2 Express Edition数据库.此版本的Sql具有RAM使用率和CPU使用率的限制,因此我们必须采用最佳方法来打开SqlConnection.

现在我正在检查每个方法的开始和结束时的连接.这是一个例子.

   private void CheckValidId(string Id)
    {
        CheckConnectionStatus();

        try
        {
            sqlConnection.Open();
            sqlCommand = new SqlCommand("select * from ValidId where id=@id", sqlConnection);
            sqlCommand.Parameters.AddWithValue("@id", Id);
            sqlDataReader = sqlCommand.ExecuteReader();
            While (sqlDataReader.Read())
            {
               string Test = sqlDataReader["Id"].toString();
               MessageBox.Show("Value of Id : " , Test);
            }
        }
        catch (Exception exp)
        {
            MessageBox.Show(exp.Message.ToString(), "Exception in CheckValidId");
        }
        finally
        {
            CheckConnectionStatus();
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是CheckConnectionStatus方法

    private void CheckConnectionStatus()
    {
        if (sqlConnection.State == ConnectionState.Open)
        {
            sqlConnection.Close();
        } …
Run Code Online (Sandbox Code Playgroud)

c# sql-server database-connection sql-server-2008-r2 sql-server-2008r2-express

1
推荐指数
2
解决办法
1344
查看次数

尝试在字符串字段上进行SQL表更新匹配

真的可以使用更新查询的一些帮助...(SQL Serer 2008 R2 Express)我有两个表,tblJPtblMaster.

我只有一个在两个表之间匹配的字符串字段.

tblJP AND tblMaster
Run Code Online (Sandbox Code Playgroud)

我需要更新tblJP.LangStringtblMaster.Long_text

tblJP.short_text = tblMaster.short_text AND tblMaster.Lang = 'jp'
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.我正在旋转我的车轮尝试各种逻辑和语法,从创建临时表到其他类型的连接都没有运气.

sql sql-server-2008 sql-server-2008r2-express

0
推荐指数
1
解决办法
525
查看次数

T-SQL语法仅在文本字符串的END上删除CR LF

如何仅在存在隐藏CRLF的字符串末尾执行替换查询?像这样的东西,但只在字符串的末尾,而不是字符串中的任何位置

declare @NewLine char(2) 
set @NewLine=char(13)+char(10)
update tableName
  set columnName  =Replace(columnName  , @NewLine,'')
where ( RIGHT(columnName ,2)=@NewLine)
Run Code Online (Sandbox Code Playgroud)

一些字符串有多个段落,所以CR LF是可以的,只是不在文本字符串的末尾.

上面的代码仍然替换整个字符串中的CR LF.

SQL Server 2008 R2 Express

更新: 我最近对建议答案的测试表明,在SSMS中,CRLF似乎保留在中间字符串中,但在将内容复制到Excel并在每个字符上运行ACSII比较后,没有CRLF,它们似乎已转换为空间.我一直在测试这段代码并将结果导出到文本文件和CSV.

create table #t(t varchar(400))
insert into #t values('abc'+char(13)+char(10)+'xyz'+char(13)+char(10))
insert into #t values('rrrrr'+char(13)+char(10)+'sssss'+char(13)+char(10))
insert into #t values('Sentence1

Sentence2!

Sentence3
')
insert into #t values('rrrrr'+char(13)+char(10))
insert into #t values('Sentence111

Sentence222
')
insert into #t values('abc1234'+char(13)+char(10)+char(13)+char(10)+'xyz987'+char(13)+char(10)+char(13)+char(10)+'lmnop345'+char(13)+char(10))

declare @NewLine char(2) 
set @NewLine=char(13)+char(10)

select len(t),t from #t

update #t
set t = STUFF(t, LEN(t)-1, 2,'')
   where ( …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server-2008r2-express

0
推荐指数
1
解决办法
1万
查看次数