Я зіткнувся з цим, тому що у мене просто виникли проблеми зі створенням віддаленого з'єднання і я не міг зрозуміти, чому налаштування порту 1433 в брандмауері не виконує цю роботу. Зараз я, нарешті, маю повну картину, тому я подумав, що варто поділитися.
Перш за все, необхідно включити "TCP / IP" за допомогою диспетчера конфігурації SQL Server за протоколами для SQLEXPRESS!
Якщо використовується названий екземпляр ("SQLExpress" у цьому випадку), він прослуховуватиметься на динамічному порту. Щоб знайти цей динамічний порт, у вас є пара варіантів; назвати декілька:
перевірка ERRORLOGSQL Server, розташований в '{MS SQL Server Path}\{MS SQL Server instance name}\MSSQL\Log'(всередині ви знайдете рядок, подібний до цього: "2013-07-25 10:30:36.83 Server Server is listening on [ 'any' <ipv4> 51118]"-> отже 51118 - це динамічний порт у цьому випадку.
перевірка реєстру: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{MSSQL instance name}\MSSQLServer\SuperSocketNetLib\Tcp\IPAllдля мого випадку TcpDynamicPorts=51118.
Правка : {MSSQL instance name}це щось на кшталт:, MSSQL10_50.SQLEXPRESSне тількиSQLEXPRESS
Звичайно, дозвіл цього TCP-порту в брандмауері та створення віддаленого з'єднання шляхом передачі: "x.x.x.x,51118"(де xxxx - ip сервера) вже вирішує його в цей момент.
Але тоді я хотів підключитися віддалено, передавши ім'я екземпляра (наприклад:) x.x.x.x\SQLExpress. Це коли послуга браузера SQL починає працювати. Це блок, який вирішує ім'я екземпляра в порт 51118. Служба браузера SQL прослуховує порт UDP 1434 (стандартний та статичний), тому мені довелося дозволити це також у брандмауері сервера.
Щоб трохи розширити фактичну відповідь: якщо хтось інший не любить динамічні порти і хоче статичний порт для свого екземпляра SQL Server, слід спробувати це посилання .