Microsoft SQL 服务器是做什么的?
What does Microsoft SQL Server do?
我知道这是非常笼统和广泛的。尽管如此,维基百科和雅虎上的所有答案(none 这里我可以找到)都非常无用。
我在某种程度上了解 T-SQL、C# 等。我了解数据库的概念。但是,当我通过 Msft SQL 服务器在我的计算机上创建 "server" 时,我不知道我创建了什么。现在我可以在该服务器上创建数据库,并且我可以使用 Visual Studio(有时)连接到它们以与 LINQ 或 "raw" 调用一起使用。
请帮助我理解(或引导我阅读文章)这个 myComputerName\SQLEXPRESS(SQL 服务器 xx.x.xxx)是什么东西。我假设数据库存储在本地......某处。 SQL 服务器提供对数据库文件的访问?为什么不能直接访问它们?
感谢您阅读所有这些内容。我真的无法缩小问题范围。
我想一个具体问题是 "Can I access the databases without SQL Server running?" 我从哪里获得连接字符串?
您在这里提出了多个问题。
However, I have NO idea what I created when I made a "server" on my
computer through Msft SQL Server. Now I can make databases on that
server, and I can connect to them with Visual Studio (sometimes) to
use with LINQ or "raw" calls.
Please help me understand (or direct me to an article) of what this
myComputerName\SQLEXPRESS (SQL Server xx.x.xxx) thing is.
数据库服务器布局如下:
- 服务器
- 实例一
- 数据库 aa
- 数据库ab
- ...
- 实例b
- 数据库 ba
- 数据库bb
- ...
- ...
因此,当您安装 MS SQL 服务器时,您安装了一个 MS SQL 服务器 "instance"。在此"instance"中,您可以创建多个数据库。每个数据库都有数据库文件,这些文件的确切位置取决于您在安装期间选择的设置。
I guess one specific question is "Can I access the databases without
SQL Server running?"
如果没有 MS SQL 服务器,您通常不会打开 dbf(mdf -ldf) 文件(数据库数据文件),为什么要打开?您应该使用 MS SQL Server 中的 backup/restore 功能。
Where do I even get the connection string?
"server" 是您计算机上的一个 process/service 运行,可以通过网络连接并提供 API 访问您的数据库。
"Why can't they be accessed directly?" 就像问我为什么需要Word才能查看Word文件,难道我不能用记事本吗?当然可以,但不是真的。
另一个原因是——假设多个进程需要访问数据库。如果每个人都读取和写入相同的文件,那么如果它们不协调,就会出现问题。拥有一个单独的服务器进程封装了所有这些。
"Can I access the databases without SQL server running?"我的意思是是但实际上不是。
如果你想要一个你的程序可以直接访问的数据库(或者说,你的程序在某种意义上也是数据库服务器)——那么你可以使用 sqlite,或者对于简单的任务,还有用于 CSV 的 ODBC 驱动程序,因此您可以像使用数据库一样使用 CSV 文件。不过,专用 SQL 服务器总是更适合更大更复杂的任务和数据模型。
我知道这是非常笼统和广泛的。尽管如此,维基百科和雅虎上的所有答案(none 这里我可以找到)都非常无用。
我在某种程度上了解 T-SQL、C# 等。我了解数据库的概念。但是,当我通过 Msft SQL 服务器在我的计算机上创建 "server" 时,我不知道我创建了什么。现在我可以在该服务器上创建数据库,并且我可以使用 Visual Studio(有时)连接到它们以与 LINQ 或 "raw" 调用一起使用。
请帮助我理解(或引导我阅读文章)这个 myComputerName\SQLEXPRESS(SQL 服务器 xx.x.xxx)是什么东西。我假设数据库存储在本地......某处。 SQL 服务器提供对数据库文件的访问?为什么不能直接访问它们?
感谢您阅读所有这些内容。我真的无法缩小问题范围。
我想一个具体问题是 "Can I access the databases without SQL Server running?" 我从哪里获得连接字符串?
您在这里提出了多个问题。
However, I have NO idea what I created when I made a "server" on my computer through Msft SQL Server. Now I can make databases on that server, and I can connect to them with Visual Studio (sometimes) to use with LINQ or "raw" calls.
Please help me understand (or direct me to an article) of what this myComputerName\SQLEXPRESS (SQL Server xx.x.xxx) thing is.
数据库服务器布局如下:
- 服务器
- 实例一
- 数据库 aa
- 数据库ab
- ...
- 实例b
- 数据库 ba
- 数据库bb
- ...
- ...
- 实例一
因此,当您安装 MS SQL 服务器时,您安装了一个 MS SQL 服务器 "instance"。在此"instance"中,您可以创建多个数据库。每个数据库都有数据库文件,这些文件的确切位置取决于您在安装期间选择的设置。
I guess one specific question is "Can I access the databases without SQL Server running?"
如果没有 MS SQL 服务器,您通常不会打开 dbf(mdf -ldf) 文件(数据库数据文件),为什么要打开?您应该使用 MS SQL Server 中的 backup/restore 功能。
Where do I even get the connection string?
"server" 是您计算机上的一个 process/service 运行,可以通过网络连接并提供 API 访问您的数据库。
"Why can't they be accessed directly?" 就像问我为什么需要Word才能查看Word文件,难道我不能用记事本吗?当然可以,但不是真的。
另一个原因是——假设多个进程需要访问数据库。如果每个人都读取和写入相同的文件,那么如果它们不协调,就会出现问题。拥有一个单独的服务器进程封装了所有这些。
"Can I access the databases without SQL server running?"我的意思是是但实际上不是。
如果你想要一个你的程序可以直接访问的数据库(或者说,你的程序在某种意义上也是数据库服务器)——那么你可以使用 sqlite,或者对于简单的任务,还有用于 CSV 的 ODBC 驱动程序,因此您可以像使用数据库一样使用 CSV 文件。不过,专用 SQL 服务器总是更适合更大更复杂的任务和数据模型。