<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Beatrice_Popa</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/beatrice_popa/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/feed.xml</link>
    <description />
    <lastBuildDate>Fri, 17 Apr 2015 04:56:45 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>SQL Server tempdb database and disk space issues</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/sql-server-tempdb-database-and-disk-space-issues</link>
      <pubDate>Tue, 21 May 2013 06:31:20 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/05/21/sql-server-tempdb-database-and-disk-space-issues/</guid>
      <description><![CDATA[As SQL administrator you are responsible not only for SQL Server part but also you are part...]]></description>
      <content:encoded><![CDATA[<p>As SQL administrator you are responsible not only for SQL Server part but also you are part responsible for the resources used by SQL Server and also how much resources are used and why.</p>
<p>Who knows&nbsp;the activity on the server and have an idea of best practices on SQL Server can still be surprised by the tempdb space usage at a specific time.</p>
<p>First lets start with some basic information about the system databases and what does the tempdb database and for what type of operations is used.</p>
<p>SQL Server comes with the following system databases:</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms187837(v=sql.105).aspx">master Database</a>: Records all the system-level information for an instance of SQL Server.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms187112(v=sql.105).aspx">msdb Database</a>: Is used by SQL Server Agent for scheduling alerts and jobs.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms186388(v=sql.105).aspx">model Database</a>: Is used as the template for all databases created on the instance of SQL Server. Modifications made to the <strong>model</strong> database, such as database size, collation, recovery model, and other database options, are applied to any databases created afterward.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms190940(v=sql.105).aspx">Resource Database</a>: Is a read-only database that contains system objects that are included with SQL Server. System objects are physically persisted in the <strong>Resource</strong> database, but they logically appear in the <strong>sys</strong> schema of every database.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms190768(v=sql.105).aspx">tempdb Database</a>: Is a workspace for holding temporary objects or intermediate result sets.</p>
<p>For more information about each database you can click on the database name or you can access the link: <a id="ee213637_SQL.105_en-us" title="System Databases" href="https://msdn.microsoft.com/en-us/library/ms178028(v=sql.105).aspx" data-tochassubtree="true">System Databases</a></p>
<p>The tempdb system database is a global resource that is available to all users connected to the instance of SQL Server and is used to hold the following:</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Temporary user objects that are explicitly created, such as: global o local temporary tables, temporary stored procedures, table variables, or cursors.</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Internal objects that are created by the SQL Server Database Engine, for example, work tables to store intermediate results for spools or sorting.</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Row versions that are generated by data modification transactions in a database that uses read-committed using row versioning isolation or snapshot isolation transactions.</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Row versions that are generated by data modification transactions for features, such as: online index operations, Multiple Active Result Sets (MARS), and AFTER triggers.</p>
<p>Operations within <strong>tempdb</strong> are minimally logged. This enables transactions to be rolled back. <strong>tempdb</strong> is re-created every time SQL Server is started so that the system always starts with a clean copy of the database. Temporary tables and stored procedures are dropped automatically on disconnect, and no connections are active when the system is shut down. Therefore, there is never anything in <strong>tempdb</strong> to be saved from one session of SQL Server to another.</p>
<p>The disk space is a common issue that could be encountered by anyone. Even if you monitor the activity on the server and frequently you analyze the reports concerning the normal space usage by the databases you can still be surprised.</p>
<p>In case you encounter the disk space issue I recommend to read and test, the examples you have in the following article: <a title="Troubleshooting Insufficient Disk Space in tempdb" href="https://msdn.microsoft.com/en-us/library/ms176029(v=sql.100).aspx">Troubleshooting Insufficient Disk Space in tempdb</a></p>
<p>In the article you have:</p>
<ul>
<li>information about&nbsp;&nbsp;error messages that indicate insufficient disk space in the <strong>tempdb</strong> database.</li>
<li>examples that you can use to monitor the disk space and space used by queries.</li>
</ul>
<p>Most of the issues occur because of the long running queries or reports you are executing in the SQL Server Instance and that have to use different temporary data stored in the tempdb database.</p>
<p>The size and physical placement of the <a href="https://msdn.microsoft.com/en-us/library/ms190768(v=sql.100).aspx">tempdb</a> database can affect the performance of a system. This is one of the reasons you have to first create a baseline concerning the activity on the server.</p>
<p>If you are a beginner I recommend to first plan the space the tempdb can use and&nbsp; how you can avoid performance issues or disk space issues, for this you can take a look at the article: <a title="Capacity Planning for tempdb" href="https://msdn.microsoft.com/en-us/library/ms345368(v=sql.100).aspx">Capacity Planning for tempdb</a> .</p>
<p>Once you have planned the space the tempdb can use I suggest you take a look at the article <a title="Optimizing tempdb Performance" href="https://msdn.microsoft.com/en-us/library/ms175527(v=sql.100).aspx">Optimizing tempdb Performance</a> so you can learn how to avoid performance issue caused by lack of free disk space.</p>
<p>I recommend you analyze and investigate closely all the queries and procedures that are executed on the server and to verify how much space is used in all possible situations. Also it is very important the number of users that are connected so if you do all the tests on an test environment you have to take this parameter (the number of users connected)&nbsp;into consideration. &nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>What is the estimate time for stopping an SQL Server Instance?</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/what-is-the-estimate-time-for-stopping-an-sql-server-instance</link>
      <pubDate>Tue, 14 May 2013 08:01:35 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/05/14/what-is-the-estimate-time-for-stopping-an-sql-server-instance/</guid>
      <description><![CDATA[If the environment you administer is in production, it is&nbsp;quite possible that you...]]></description>
      <content:encoded><![CDATA[<p>If the environment you administer is in production, it is&nbsp;quite possible that you wondered,&nbsp;at least once, how much time it will take if I have to stop the SQL Server Instance?</p>
<p>And the answer is : depends.</p>
<p>When you send the command to stop an SQL Server instance, the following steps are performed by the SQL Server Engine:</p>
<p>&nbsp;</p>
<p>&middot;&nbsp;Disables logins (except for system administrators);</p>
<p>&middot; Performs a CHECKPOINT in every database. However, if you stop SQL Server using CTRL+C at the command prompt, it does not perform a CHECKPOINT in every database. Therefore, the recovery time is increased the next time the server is started.</p>
<p>&middot;&nbsp;Waits for all currently executing Transact-SQL statements or stored procedures to finish;</p>
<p>&nbsp;</p>
<p>You can pause SQL Server before stopping the server. Pausing SQL Server prevents new users from logging in and gives you time to send a message to current users asking them to complete their work and log out before you stop the server.</p>
<p>If you stop SQL Server without pausing it, all server processes are terminated immediately. Stopping SQL Server prevents new connections and disconnects current users.</p>
<p>The steps are also described in the following white paper: <a title="Chapter 1 - Starting, Pausing, and Stopping SQL Server" href="https://technet.microsoft.com/en-us/library/cc917563.aspx">Chapter 1 - Starting, Pausing, and Stopping SQL Server</a></p>
<p>So we have 3 variables that could influence the time for shutting down and SQL Server instance.</p>
<p>First depending on the number of logins that are currently logged the steps is done in a proportional time. That means , if you have billions of users logged then the step of 'disable logins' could take a while. How much depends on the resources available and on the charge of the server.</p>
<p>The second step is a bit tricky. If you have a lot of databases, and we know that one instance of SQL Server can have up to 32,767 databases <a title="Create a Database" href="https://technet.microsoft.com/en-us/library/ms186312.aspx">Create a Database</a>, than the CHECKPOINT operation for <strong>every database</strong> can take a lot of time, <a id="hh891646_SQL.110_en-us" title="Database Checkpoints" href="https://technet.microsoft.com/en-us/library/ms189573.aspx" data-tochassubtree="true">Database Checkpoints</a>. This in case all the databases are online. If some of the databases are offline than&nbsp;these will not be counted.</p>
<p>For last step 'Waits for all currently executing Transact-SQL statements or stored procedures to finish' we have to monitor the entire activity on the server. So if at the moment you want to shutdown the instance you have a lot of activity on the databases then, the stop will be done once all the transactions and the procedures are successfully executed.</p>
<p>And here are the recommendations that I can provide to be sure you have the minimum time required&nbsp;for shutting down an SQL Server Instance.</p>
<p>- Make sure all the applications, that are using the SQL Server databases are stopped;</p>
<p>- If you can, you can put some of the databases that you are not using offline;</p>
<p>- Make sure you have available&nbsp;resources on the server that SQL Server Instance resides;</p>
<p>Keep in mind that you have the following options, described&nbsp; in the same white paper as mentioned above or in the article <a title="Stopping Services" href="https://msdn.microsoft.com/en-US/library/ms189095(v=sql.90).aspx">Stopping Services,</a>&nbsp;to stop an&nbsp;SQL&nbsp;Server Instance:</p>
<p>You can stop Microsoft SQL Server locally from the server or remotely from a client or another server using:</p>
<p>- SQL Server Configuration Manager;</p>
<p>- SQL Server Management Studio;</p>
<p>- SHUTDOWN statement;</p>
<p>- <strong>net</strong> commands</p>
<p>- Control Panel;</p>
<p>- CTRL+C&nbsp;</p>
<p>&nbsp;</p>
<p>It is highly recommended to test the recommendations mentioned above and also to verify the time for shutting down an SQL Server Instance on an test environment (identical with the production environment) before doing the same actions on production environment.</p>
<p>If you do not stop the applications before shutting down the SQL Server Instance than I suggest you broadcast a message to warn users of an impending shutdown. In the message, include the time the instance of SQL Server will be stopped so that users can finish their tasks. For more information, see <span><a href="https://msdn.microsoft.com/en-us/library/ms189597(v=sql.105).aspx">How to: Broadcast a Shutdown Message (Command Prompt)</a></span>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>SQL Server Clustering and mirroring/log shipping</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/sql-server-clustering-and-mirroringlog-shipping</link>
      <pubDate>Fri, 10 May 2013 06:35:00 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/05/10/sql-server-clustering-and-mirroringlog-shipping/</guid>
      <description><![CDATA[SQL Server provides a variety of high availability solutions that you could implement on your...]]></description>
      <content:encoded><![CDATA[<p>SQL Server provides a variety of high availability solutions that you could implement on your environment.</p>
<p>Depending on your needs and of what type of hardware and software you dispose you can choose the best solution of high availability for your applications and productions.</p>
<p>&nbsp;With SQL Server you have the possibility even to combine different types of high availability solutions that you could implement.</p>
<p>The following article described what high availability solutions can coexist <a title="High Availability: Interoperability and Coexistence" href="https://msdn.microsoft.com/en-us/library/bb500117(v=sql.105).aspx">High Availability:&nbsp;Interoperability and Coexistence</a></p>
<p>Database mirroring can be used with the following features or components of SQL Server:</p>
<ul>
<li>Change data capture (and change tracking)</li>
<li>Failover clustering</li>
<li>Log shipping</li>
<li>Full-text catalogs</li>
<li>Database snapshots</li>
<li>Replication</li>
</ul>
<p>Log shipping can be used with the following features or components of SQL Server:</p>
<ul>
<li>Database mirroring</li>
<li>Replication</li>
</ul>
<p>As we can see not all the combinations of high availability solutions can coexist.</p>
<p>As mentioned at the beginning of this blog the most popular combination is clustering and another solution and the first thing we think is mirroring or log shipping.</p>
<p>We saw in the article mentioned above that clustering can coexist only with mirroring . The clustering cannot coexist with log shipping. For a general comparison of the SQL Server high-availability solutions, see <a href="https://msdn.microsoft.com/en-us/library/ms190202(v=sql.105).aspx">High Availability Solutions Overview</a>.</p>
<p>In the same article we have the following information about different high availability solutions that could coexist:</p>
<p>-<a href="https://msdn.microsoft.com/en-us/library/cc645938(v=sql.105).aspx">&nbsp;Change Data Capture and Other SQL Server Features</a>: Contains information about using change data capture (CDC) with database mirroring.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms191309(v=sql.105).aspx">Database Mirroring and Failover Clustering</a>: Describes database mirroring as an easy-to-manage alternative to failover clustering. Database mirroring can be used between two different failover clusters, but not within a single cluster.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms187016(v=sql.105).aspx">Database Mirroring and Log Shipping</a>: Describes how a single database can be configured as the principal database in a mirroring session and also as the primary database in a log shipping configuration.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms366279(v=sql.105).aspx">Database Mirroring and Cross-Database Transactions</a>&nbsp;: Describes why database mirroring is not supported with either cross-database transactions or distributed transactions.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms191182(v=sql.105).aspx">Database Mirroring and Full-Text Catalogs</a>:&nbsp;Describes how to mirror a database that has a full-text catalog.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms175511(v=sql.105).aspx">Database&nbsp; Mirroring and Database Snapshots</a>:&nbsp;Describes how to create one or more database snapshots on a mirror database to permit clients to use the mirror database for limited report writing.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms151799(v=sql.105).aspx">Replication and Database Mirroring</a>:&nbsp;Describes the effects of log shipping on replication behavior and the requirements and procedures for replicating from the secondary if the primary is lost.</p>
<p>- <a href="https://msdn.microsoft.com/en-us/library/ms151224(v=sql.105).aspx">Replication and Log Shipping</a>: Describes the effects of log shipping on replication behavior and the requirements and procedures for replicating from the secondary if the primary is lost.</p>
<p>&nbsp;</p>
<p>Concerning one of the most used combination of high availability solutions: &nbsp;the Failover clustering and Database mirroring, we have the following articles and information that could help us better understand how they coexist and how can be configured:</p>
<p><strong>1. <a title="Failover Clusters in Windows Server 2008" href="https://technet.microsoft.com/en-us/library/ff182326(v=ws.10).aspx">Failover Clusters in Windows Server 2008</a></strong></p>
<p>A failover cluster is a group of independent computers that work together to increase the availability of applications and services. The clustered servers (called nodes) are connected by physical cables and by software. If one of the cluster nodes fails, another node begins to provide service (a process known as failover). Users experience a minimum of disruptions in service.</p>
<p><strong>2. <a title="Database Mirroring" href="https://msdn.microsoft.com/en-us/library/bb934127(v=sql.105).aspx">Database Mirroring</a>&nbsp;</strong></p>
<p>Database mirroring is a primarily software solution for increasing database availability. Mirroring is implemented on a per-database basis and works only with databases that use the full recovery model. The simple and bulk-logged recovery models do not support database mirroring. Database mirroring is supported in SQL Server Standard and Enterprise.</p>
<p>Database mirroring offers substantial availability and provides an easy-to-manage alternative or supplement to failover clustering or log shipping. When a database mirroring session is synchronized, database mirroring provides a hot standby server that supports rapid failover with no loss of data from committed transactions. During a typical mirroring session, after a production server fails, client applications can recover quickly by reconnecting to the standby server.</p>
<p><strong>3.<a title="Database Mirroring and Failover Clustering" href="https://msdn.microsoft.com/en-us/library/ms191309(v=sql.105).aspx">Database Mirroring and Failover Clustering</a></strong></p>
<p>Typically, when mirroring is used with clustering, the principal server and mirror server both reside on clusters, with the principal server running on the failover clustered instance of one cluster and the mirror server running on the failover clustered instance of a different cluster. You can establish a mirroring session in which one partner resides on the failover clustered instance of a cluster and the other partner resides on a separate, unclustered computer, however.</p>
<p>If a cluster failover makes a principal server temporarily unavailable, client connections are disconnected from the database. After the cluster failover completes, clients can reconnect to the principal server on the same cluster, or on a different cluster or an unclustered computer, depending on the operating mode.</p>
<p>When deciding how to configure database mirroring in a clustered environment, the operating mode you use for mirroring is significant.</p>]]></content:encoded>
    </item>
    <item>
      <title>Execution plan for stored procedures chosen by SQL Server Database Engine</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/execution-plan-for-stored-procedures-chosen-by-sql-server-database-engine</link>
      <pubDate>Fri, 10 May 2013 05:42:00 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/05/10/execution-plan-for-stored-procedures-chosen-by-sql-server-database-engine/</guid>
      <description><![CDATA[Execution plan for stored procedures chosen by SQL Server Database Engine
I think everybody...]]></description>
      <content:encoded><![CDATA[<p>Execution plan for stored procedures chosen by SQL Server Database Engine</p>
<p>I think everybody wondered why we have different execution plans chosen by the SQL Server Database Engine for the same stored procedure.</p>
<p>You can find the answer in the following blog.&nbsp;</p>
<p>Because the SQL Server Engine does a recompilation, taking into consideration the current parameter&nbsp; when the recompilation is done, the engine choses the optimal execution plan for that parameter. This means that it can choose different execution plan if the current parameter has another optimal execution plan than the last one. It is absolutely normal the chosen execution plan be different than the last one (with a different parameter for the stored procedure ).</p>
<p>This execution plan chosen must be optimal for the current value of the parameter of the stored procedure, it is not necessarily &nbsp;optimal for the rest of the parameters. &nbsp;</p>
<p>To better explain the things I said above I would like to introduce the notion of &lsquo;parameter sniffing&rsquo;, better explained in the white paper: <a title="Plan Caching in SQL Server 2008" href="https://msdn.microsoft.com/en-us/library/ee343986(v=sql.100).aspx">Plan Caching in SQL Server 2008</a></p>
<p>When a stored procedure is compiled for the first time (or in fact any parameterized batch), the values of the parameters supplied with the execution call are used to optimize the statements within that stored procedure. This process is known as "parameter sniffing&rdquo;.</p>
<p>"Parameter sniffing" refers to a process whereby SQL Server's execution environment "sniffs" the current parameter value during compilation or recompilation, and passes it along to the query optimizer so that they can be used to generate potentially faster query execution plans.</p>
<p>The word "current" refers to the parameter values present in the statement call that caused a compilation or a recompilation. Parameter values are sniffed during compilation or recompilation for the following types of batches:</p>
<p>-&nbsp;Stored procedures</p>
<p>-&nbsp;Queries submitted via sp_executesql</p>
<p>- Prepared queries</p>
<p>-&nbsp;OPTION(RECOMPILE) query hint</p>
<p>For such a query (could be SELECT, INSERT, UPDATE, DELETE or MERGE), both the parameter values and the current values of local variables are sniffed. (Without OPTION(RECOMPILE), only parameter values are sniffed). The values sniffed (of parameters and local variables) are those that exist at the place in the batch just before the statement with the OPTION(RECOMPILE) hint. In particular, for parameters, the values that came along with the batch invocation call are <em>not</em> sniffed.</p>
<p>Certain changes in a database can cause an execution plan to be either inefficient or invalid, based on the new state of the database. SQL Server detects the changes that invalidate an execution plan and marks the plan as not valid. A new plan must then be recompiled for the next connection that executes the query : <a title="Execution Plan Caching and Reuse" href="https://msdn.microsoft.com/en-us/library/ms181055(v=sql.105).aspx">Execution Plan Caching and Reuse</a></p>
<p>The conditions that invalidate a plan include the following:</p>
<ul>
<li>Changes made to a table or view referenced by the query (ALTER TABLE and ALTER VIEW).</li>
<li>Changes made to a single procedure, which would drop all plans for that procedure from the cache (ALTER PROCEDURE).</li>
<li>Changes to any indexes used by the execution plan.</li>
<li>Updates on statistics used by the execution plan, generated either explicitly from a statement, such as UPDATE STATISTICS, or generated automatically.</li>
<li>Dropping an index used by the execution plan.</li>
<li>An explicit call to <strong>sp_recompile</strong>.</li>
<li>Large numbers of changes to keys (generated by INSERT or DELETE statements from other users that modify a table referenced by the query).</li>
<li>For tables with triggers, if the number of rows in the <strong>inserted </strong>or <strong>deleted </strong>tables grows significantly.</li>
<li>Executing a stored procedure using the WITH RECOMPILE option.</li>
</ul>
<p>Most recompilations are required either for statement correctness or to obtain potentially faster query execution plans.</p>
<p>If you want to use only one execution plan for all the parameters of the procedure you can apply one of the following solutions:</p>
<p>- You can choose a certain execution plan and you can add in the procedure Use Plan Query Hint, better explained in the article&nbsp;: <a id="bb526078_SQL.105_en-us" title="Specifying Query Plans with Plan Forcing" href="https://msdn.microsoft.com/en-us/library/ms190727(v=sql.105).aspx" data-tochassubtree="true">Specifying Query Plans with Plan Forcing</a></p>
<p>- Another option is for you to use OPTIMIZE FOR&nbsp; or FORCE RECOMPILE, better explained in the&nbsp; articles <a title="Understanding Plan Guides" href="https://msdn.microsoft.com/en-us/library/ms190417(v=sql.105).aspx">Understanding Plan Guides</a> &nbsp;and <a title="Query Hints (Transact-SQL)" href="https://msdn.microsoft.com/en-us/library/ms181714(v=sql.105).aspx">Query Hints (Transact-SQL)</a> &nbsp;&nbsp;&ldquo;Queries that can benefit from plan guides are generally parameter-based, and may be performing poorly because they use cached query plans whose parameter values do not represent a worst-case or most representative scenario. The OPTIMIZE FOR and RECOMPILE query hints can be used to address this problem. OPTIMIZE FOR instructs SQL Server to use a particular value for a parameter when the query is optimized. RECOMPILE instructs the server to discard a query plan after execution, forcing the query optimizer to recompile a new query plan the next time that the same query is executed.&rdquo;</p>
<p>&nbsp;</p>
<p>I hope that the information provided in this blog answered some of your questions.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>SQL Server Service Broker and AlwaysOn</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/sql-server-service-broker-and-alwayson</link>
      <pubDate>Thu, 09 May 2013 06:45:25 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/05/09/sql-server-service-broker-and-alwayson/</guid>
      <description><![CDATA[SQL Server Service Broker provides native support for messaging and queuing applications in the SQL...]]></description>
      <content:encoded><![CDATA[<p>SQL Server Service Broker provides native support for messaging and queuing applications in the SQL Server Database Engine.</p>
<p>The reference documentation for Service Broker is included in the SQL Server 2012 documentation. This reference documentation includes the following sections:</p>
<ul>
<li><a href="https://msdn.microsoft.com/en-us/library/ff848799.aspx">Data Definition Language (DDL) Statements (Transact-SQL)</a> for CREATE, ALTER, and DROP statements</li>
<li><a href="https://msdn.microsoft.com/en-us/library/ff848765.aspx">Service Broker Statements</a>&nbsp;</li>
<li><a href="https://msdn.microsoft.com/en-us/library/ms173780.aspx">Service Broker Catalog Views (Transact-SQL)</a></li>
<li><a href="https://msdn.microsoft.com/en-us/library/ms176110.aspx">Service Broker Related Dynamic Management Views (Transact-SQL)</a>\</li>
<li><a href="https://msdn.microsoft.com/en-us/library/bb934450.aspx">ssbdiagnose Utility (Service Broker)</a></li>
</ul>
<p>See the previously published documentation for <a id="bb528335_SQL.105_en-us" title="Service Broker" href="https://msdn.microsoft.com/en-us/library/bb522893(v=sql.105).aspx" data-tochassubtree="true">Service Broker</a> concepts and for development and management tasks. This documentation is not reproduced in the SQL Server 2012 documentation due to the small number of changes in Service Broker in SQ Server 2012.</p>
<p>&nbsp;<a title="Collapse" href="javascript:void(0)">What's new in Service Broker in SQL Server 2012?</a></p>
<p>-&nbsp;<strong>Messages can be sent to multiple target services (multicast):</strong>The syntax of the <a href="https://msdn.microsoft.com/en-us/library/ms188407.aspx">SEND (Transact-SQL)</a> statement has been extended to enable multicast by supporting multiple conversation handles.</p>
<p>-&nbsp;<strong>Queues expose the message enqueued time: </strong>Queues have a new column, <strong>message_enqueue_time</strong>, that shows how long a message has been in the queue.</p>
<p>-&nbsp;<strong>Poison message handling can be disabled:</strong>The <a href="https://msdn.microsoft.com/en-us/library/ms190495.aspx">CREATE QUEUE (Transact-SQL)</a> and <a href="https://msdn.microsoft.com/en-us/library/ms189529.aspx">ALTER QUEUE (Transact-SQL)</a> statements now have the ability to enable or disable poison message handling by adding the clause, POISON_MESSAGE_HANDLING (STATUS = ON | OFF). The catalog view <strong>sys.service_queues</strong> now has the column <strong>is_poison_message_handling_enabled </strong>to indicate whether poison message is enabled or disabled.</p>
<p>- <strong>AlwaysOn support in Service Broker : </strong>For more information, see <a href="https://msdn.microsoft.com/en-us/library/hh710058.aspx">Service Broker with AlwaysOn Availability Groups (SQL Server)</a>.</p>
<p>&nbsp;</p>
<p>I can suggest also the following links to better understand the concept of queues:</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a title="Architecting Service Broker Applications" href="https://msdn.microsoft.com/en-us/library/aa964144.aspx">Architecting Service Broker Applications</a></p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a title="Creating Service Broker Queues" href="https://msdn.microsoft.com/en-us/library/ms171612(v=sql.105).aspx">Creating Service Broker Queues</a>&nbsp;</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a title="Conversation Architecture" href="https://msdn.microsoft.com/en-us/library/ms166064(v=sql.105).aspx">Conversation Architecture</a></p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a title="Queues" href="https://msdn.microsoft.com/en-us/library/ms166053(v=sql.105).aspx">Queues</a></p>
<p>&nbsp;</p>
<p>I would also like to recommend the following book that provides some of the answers to your questions and also some script examples : <a href="https://www.apress.com/9781590599990">https://www.apress.com/9781590599990</a></p>
<p><strong></strong>&nbsp;</p>
<p>The modifications you will have to do are described in the article: <a title="Service Broker with AlwaysOn Availability Groups" href="https://msdn.microsoft.com/en-us/library/hh710058.aspx">Service Broker with AlwaysOn Availability Groups</a></p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://msdn.microsoft.com/en-us/library/hh710058.aspx#ReceiveRemoteMessages">Requirements for a Service in an Availability Group to Receive Remote Messages</a></p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://msdn.microsoft.com/en-us/library/hh710058.aspx#SendRemoteMessages">Requirements for Sending Messages to a Remote Service in an Availability Group</a></p>
<p>Please access the following links to better understand the concept of AlwaysOn , how it works and application failover:</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a title="Overview of AlwaysOn Availability Groups" href="https://msdn.microsoft.com/en-us/library/ff877884.aspx">Overview of AlwaysOn Availability Groups</a></p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a title="Availability Group Listeners, Client Connectivity, and Application Failover" href="https://msdn.microsoft.com/en-us/library/hh213417.aspx">Availability Group Listeners, Client Connectivity, and Application Failover</a></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Reports of database activity information using SQL Server Management Studio</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/reports-of-database-activity-information-using-sql-server-management-studio</link>
      <pubDate>Tue, 09 Apr 2013 03:16:27 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/04/09/reports-of-database-activity-information-using-sql-server-management-studio/</guid>
      <description><![CDATA[In one of my previous blogs I presented some of the tools you can use to start troubleshooting your...]]></description>
      <content:encoded><![CDATA[<p>In one of my previous blogs I presented some of the tools you can use to start troubleshooting your performance issue or monitor the activity on your SQL Server .</p>
<p>If the tools presented in that blog are a little too complicated for you, or you do not have the time to read and analyze all the information presented there, you have another possibility to access some reports using SQL Server Management Studio.</p>
<p>Starting with SQL Server 2005 you have the possibility to access reports about: disk usage , blocking transactions or even index usage or statistics on a specific database.</p>
<p>To access these reports you first have to be sure you have installed SQL Server Management Studio.</p>
<p>Then all you have to do is to right click on the database you want to analyze &ndash; Reports and there you have the possibility to use an existing Standard report or to import a new Custom Report:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/8176.picture1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/8176.picture1.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/8176.picture1.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/8176.picture1.png" alt="" width="423" height="235" border="0" /></a><br />&nbsp;<br /><strong>1. Standard Reports:</strong></p>
<p>In the section of Standard Report you have available the following reports:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/0675.picture2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/0675.picture2.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/0675.picture2.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/0675.picture2.png" alt="" width="368" height="369" border="0" /></a><br />Note: It is not recommended to access these reports on a production environment, when it is a high activity on the server because it can cause performance issues.</p>
<p>So you have the following options:</p>
<ul>
<li>Disk Usage</li>
<li>Disk Usage by Top Tables</li>
<li>Disk Usage by Table</li>
<li>Disk Usage by Partition</li>
<li>Backup and Restore Events</li>
<li>All Transactions</li>
<li>All Blocking Transactions</li>
<li>Top Transactions by Age</li>
<li>Top Transactions by Blocked Transactions Count</li>
<li>Top Transactions by Locks Count</li>
<li>Resource Locking Statistics by Objects</li>
<li>Object Execution Statistics</li>
<li>Database Consistency History</li>
<li>Index Usage Statistics</li>
<li>Index Physical Statistics</li>
<li>Schema Changes History</li>
<li>User Statistics</li>
</ul>
<p>For each one of the options presented above you have to possibility to access a report with useful information and very clear graphics.</p>
<p>For example the Disk Usage for the database Adventure Works:<br />&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/6710.picture3.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/6710.picture3.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/6710.picture3.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/6710.picture3.jpg" alt="" width="580" height="360" border="0" /></a></p>
<p>In the picture above you can analyze and see the space usage for Data Files and Transaction Log files. Very useful if you want to plan a truncation or shrink operation on these files.</p>
<p>We can take another example like Backup and Restore events where you can see what is the average time taken for backup operations for that database, when where take the last backups and also if there were any errors during the backups:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/6675.picture4.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/6675.picture4.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/6675.picture4.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/6675.picture4.jpg" alt="" width="596" height="440" border="0" /></a></p>
<p>Another very important report that could help you on performance issue is the blocking transactions report that can show you the description of transactions which are blocking other transactions.</p>
<p>The reports that can help you monitor the server and the maintenance done on the server, are: &nbsp;</p>
<ul>
<li>Top Transactions by Age - can show you a report with the oldest transactions and also the currently running transactions on this database;</li>
<li>Resource Locking Statistics by Object - This report enumerates all objects within the Database on which locks have been acquired and provides details on the kind of locks held and who is holding them.</li>
<li>Object Execution Statistics - This report provides detailed historical execution data for all currently cached plans for objects within the Database. This execution data is aggregated over the time during which the plan has been in the cache.</li>
<li>Index Usage Statistics - This report provides details on usage of individual Indexes within the Database as well as data on the cost of maintaining them.</li>
<li>Index Physical Statistics - This report provides overview of the utilization of disk space within the Database.</li>
<li>User Statistics - This report provides details on the activity of all currently connected users within the Database.</li>
</ul>
<p>All these reports can help you in your daily maintenance job or analyzing and tuning your database.</p>
<p><strong>2. Custom Reports</strong>: <a title="Custom Reports in Management Studio" href="https://msdn.microsoft.com/en-us/library/bb153684(v=sql.105).aspx">Custom Reports in Management Studio</a></p>
<p>Custom reports are stored as report definition (.rdl) files and are created by using Report Definition Language (RDL).</p>
<p>For more information about how to implement the customer reports, how to run it or even the limitations you have for this kind of reports you can access the <a title="Custom Reports in Management Studio" href="https://msdn.microsoft.com/en-us/library/bb153684(v=sql.105).aspx">Custom Reports in Management Studio</a></p>
<p>&nbsp;</p>
<p>I hope this blog helped you in better managing and maintaining your database if you are a beginner.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Steps to troubleshoot SQL Server connectivity issues</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/steps-to-troubleshoot-sql-server-connectivity-issues</link>
      <pubDate>Wed, 13 Mar 2013 09:15:00 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/03/13/steps-to-troubleshoot-sql-server-connectivity-issues/</guid>
      <description><![CDATA[Steps to troubleshoot SQL Server connectivity issues
&nbsp;
When you have a connectivity issue...]]></description>
      <content:encoded><![CDATA[<p><strong>Steps to troubleshoot SQL Server connectivity issues</strong></p>
<p><strong></strong>&nbsp;</p>
<p><strong></strong>When you have a connectivity issue with SQL Server you can use the following steps to verify some of the possible causes:&nbsp;</p>
<p><strong>1.</strong> First you must identify the exact error message you receive : in SQL Server Management Studio or while starting a specific SQL Service;</p>
<p><strong>2.</strong> You have to identify the ports that are used by SQL Server. To do that you have to go to SQL Server Configuration Manager &ndash; SQL Server Network Protocol- Protocols for InstanceName &ndash; right click on TCP/IP &ndash; properties- IP Addresses &ndash; IP All;</p>
<p><strong>3.</strong> Make sure all protocols are enabled : Shared Memory, TCP/IP and Named Pipes;</p>
<p><strong>4.</strong> Verify in SQL Server Configuration Manager if you have any aliases configured (if you have aliases configured, try to see if the issue is reproduced without them):</p>
<p>- SQL Native Client 11.0 Configuration (32bit) &ndash;Client Protocols and Aliases;</p>
<p>- SQL Native Client 11.0 Configuration&ndash;Client Protocols and Aliases;</p>
<p><strong>5.</strong> Make sure the startup accounts for all SQL Server Services have the appropriate rights, if not, you can change it to an domain account that is also sysadmin for SQL Server(just to verify this possible cause and afterward change it back);</p>
<p><strong>6.</strong> You can open errorlog file for SQL Server to see if the server is successfully listening on any of the protocol. The location of errorlog file is usually under: %ProgramFile%Microsoft SQL Server/MSSQLxx.xxx/MSSQL/Log;</p>
<p><strong>7.</strong> Verify if you have Firewall enabled on the machine. If &nbsp;this is the case please make sure you have the following rules that allows SQL Server ports to be opened:</p>
<ol>o For TCP protocol, you need put the TCP port on which the SQL Server listens on into exception;</ol>
<ul>o For SQL Browser, please put UDP port 1434 into exception;</ul>
<p><strong>8.</strong> Disable the antivirus if you have one;</p>
<p><strong>9.</strong> Use the Port Query tool to verify the status of the ports:</p>
<p>-&nbsp;Download and install PortQuery tool on the SQL Server machine where the connectivity does not work. More details about the tool you can find in the article <a href="https://support.microsoft.com/default.aspx?scid=kb;en-us;310099">Description of the Portqry.exe command-line utility</a>.&nbsp; <a href="https://www.microsoft.com/downloads/details.aspx?FamilyID=8355e537-1ea6-4569-aabb-f248f4bd91d0&amp;DisplayLang=en">ttp://www.microsoft.com/downloads/details.aspx?FamilyID=8355e537-1ea6-4569-aabb-f248f4bd91d0&amp;DisplayLang=en</a></p>
<p>-&nbsp;Run the PortQuery tool (portqueryui.exe).</p>
<p>-&nbsp;Query SQL Service:</p>
<ul>
<li>In &ldquo;Enter destination IP or FQDN to query&rdquo; text box please type the FQDN of the machine where the SQL Server is installed&nbsp;;</li>
<li>In &ldquo;Query Type&rdquo; select &ldquo;SQL Service&rdquo;;</li>
<li>Click &ldquo;Query&rdquo; ;</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/4401.portquery1.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/4401.portquery1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/4401.portquery1.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/4401.portquery1.jpg" alt="" border="0" /></a></p>
<p>- Query specific TCP port number:</p>
<ul>
<li>In &ldquo;Enter destination IP or FQDN to query&rdquo; text box please type the FQDN of the machine where the SQL Server is installed;</li>
<li>In &ldquo;Query Type&rdquo; select &ldquo;Manually input query ports&rdquo;;</li>
<li>Then select SQL Server port it should be 4022 and in &ldquo;Protocol&rdquo; drop-down list select &ldquo;TCP&rdquo;;</li>
<li>Click &ldquo;Query&rdquo; ;</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/3858.portquery2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/3858.portquery2.jpg"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/3858.portquery2.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/3858.portquery2.jpg" alt="" border="0" /></a></p>
<p><strong>10.</strong> Execute in a Command Prompt opened with administrator rights, netstat &ndash;anob and analyze the ports that are used by SQL Server;</p>
<p><strong>11.</strong> You can execute the following commands using sqlcmd to connect to SQL Server Instance:</p>
<p>- sqlcmd -S &lt;ComputerName&gt;\&lt;InstanceName&gt; -E</p>
<p>- sqlcmd -Stcp: &lt;ComputerName&gt;\&lt;InstanceName&gt;</p>
<p>- sqlcmd -Slpc: &lt;ComputerName&gt;\&lt;InstanceName&gt;</p>
<p>- sqlcmd -Stcp:127.0.0.1,portnumber</p>
<p>- sqlcmd -Snp: &lt;ComputerName&gt;\&lt;InstanceName&gt;</p>
<p><strong>12.</strong> Enable the telnet client on the server using the following link : <a href="https://technet.microsoft.com/en-us/library/cc732046(v=ws.10).aspx">https://technet.microsoft.com/en-us/library/cc732046(v=ws.10).aspx</a></p>
<p>-&nbsp; Execute the following&nbsp;command in a Command Prompt opened with administrator rights: telnet 127.0.0.1 1433</p>
<p><strong>14.</strong> You can verify if there is any network issue by capturing a network trace when the issue is reproduced. You can download the autorun from : <a href="https://www.microsoft.com/en-us/download/details.aspx?id=6537">https://www.microsoft.com/en-us/download/details.aspx?id=6537</a>&nbsp;&nbsp;You just have to download the .exe file and with double click it starts the network trace collection;</p>
<p><strong>15.</strong>To verify a possible network issue you can also ping the IP of the server;</p>]]></content:encoded>
    </item>
    <item>
      <title>Receiving error message when trying to connect with Master Data Services Add-in For Microsoft Excel outside the domain where MDS is configured</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/receiving-error-message-when-trying-to-connect-with-master-data-services-add-in-for-microsoft-excel-outside-the-domain-where-mds-is-configured</link>
      <pubDate>Mon, 18 Feb 2013 05:42:00 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/02/18/receiving-error-message-when-trying-to-connect-with-master-data-services-add-in-for-microsoft-excel-outside-the-domain-where-mds-is-configured/</guid>
      <description><![CDATA[Receiving error message when trying to connect with Master Data Services Add-in For Microsoft Excel...]]></description>
      <content:encoded><![CDATA[<p>Receiving error message when trying to connect with Master Data Services Add-in For Microsoft Excel outside the domain where Master Data Services is configured:</p>
<p>&nbsp;</p>
<p><strong>Error messages:</strong></p>
<p>If Windows Authentication is enabled on IIS side, you will receive the following error message on Excel side:</p>
<p><em>"The HTTP request is unauthorized with client authentication scheme &lsquo;Negotiate&rsquo;. The authentication header received from the server was &lsquo;Negotiate, NTLM&rsquo;.&rdquo;</em></p>
<p>If Basic Authentication is enabled on IIS side, you will receive the following error message on Excel side:</p>
<p><em>&ldquo;The HTTP request is unauthorized with client authentication scheme Negotiate. The authentication header received from the server was Basic realm=domain.&rdquo;</em></p>
<p>&nbsp;</p>
<p><strong>Environment:</strong></p>
<p>-&nbsp;&nbsp;SQL Server 2012 with MDS installed;</p>
<p>-&nbsp;&nbsp;Installed the Master Data Services Add-in For Microsoft Excel on a computer outside the domain where resides the MDS database and web application. To install the Master Data Services Add-in For Microsoft Excel , you can use the following link : <a href="https://go.microsoft.com/fwlink/?LinkId=219530">https://go.microsoft.com/fwlink/?LinkId=219530</a>&nbsp;&nbsp;&nbsp; or&nbsp; you can use the link on the front page of your Master Data Manager;</p>
<p>-&nbsp; Configured a connection in Excel and disabled 'Anonymous Authentication' in IIS to not allow unauthenticated users to access MDS. When you try to connect from Excel outside the domain, having enabled on IIS : Basic Authentication or Windows Authentication you receive the error messages described above;</p>
<p>-&nbsp; If it is enabled 'Anonymous Authentication' in IIS, it allows all users to access MDS, so everybody can do modification with no authentication and there are no error message (but the connection is not secure) in Excel connection;</p>
<p>-&nbsp; It is not possible to introduce credentials for an account outside the domain using Microsoft Excel in &lsquo;Run as &hellip;&rsquo; section;</p>
<p>You cannot connect to MDS using the Master Data Services Add-in For Microsoft Excel , with an account outside the domain (Workgroup not trusted domain). In Excel you cannot introduce any credentials.</p>
<p>&nbsp;</p>
<p><strong>Connection Test steps:</strong></p>
<p>As a possible connection test you can verify if the following steps works on your environment:</p>
<p>-&nbsp; In IIS Manager, enabled only &lsquo;Windows Authentication&rsquo; for the web site - on the web site level not the Service folder level (this is enabled automatically along with Anonymous authentication)&rsquo;</p>
<p>-&nbsp; On the computer outside the domain opened the Master Data Manager and then, in the popup to introduce the account and password was introduced the account that is in the same domain an MDS and his password;</p>
<p>-&nbsp; Afterwards you have the possibility to save the credentials by checking the &rsquo;Save Credentials&rsquo; options on the same popup;</p>
<p>-&nbsp; Connected successfully to Master Data Manager ;</p>
<p>-&nbsp; On the same computer where you have Master Data Services Add-in For Microsoft Excel , go to Control Panel- User Account- Manage your credentials &ndash;Windows credentials and there have to be also the credentials you introduced above. If they are not, please introduce them manually also the&nbsp;URL for the Master Data Manager;</p>
<p>-&nbsp;Afterwards, open the Excel, where you already installed the Master Data Services Add-in For Microsoft Excel, and in the Connect tab - Manage connections, create the new connection using the correct URL and there was no need to introduce the credentials;</p>
<p>&nbsp;</p>
<p>Depending on the environment and other configurations settings it is possible that the steps for the connection test did above, not to work on your environment.</p>]]></content:encoded>
    </item>
    <item>
      <title>SQL Server best practices for: installation, delete files after service pack installation, applications on instances and security</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/sql-server-best-practices-for-installation-delete-files-after-service-pack-installation-applications-on-instances-and-security</link>
      <pubDate>Tue, 12 Feb 2013 04:56:00 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/02/12/sql-server-best-practices-for-installation-delete-files-after-service-pack-installation-applications-on-instances-and-security/</guid>
      <description><![CDATA[Questions and answers regarding SQL Server installation best practices, the files we can delete...]]></description>
      <content:encoded><![CDATA[<p>Questions and answers regarding SQL Server installation best practices, the files we can delete after a service pack is installed, user rights and how many instances are necessary for different application.</p>
<p><strong>1. After you installed a Service Pack for SQL Server 2008 R2, is it possible to delete part of the files without altering the functioning of SQL Server? If yes, what files?</strong></p>
<p>The files that are added during the installation of a Service Pack are absolutely necessary for the SQL Server instance (for which you installed the service pack) to function properly: <a href="https://msdn.microsoft.com/en-us/library/dd638062(v=SQL.105).aspx">https://msdn.microsoft.com/en-us/library/dd638062(v=SQL.105).aspx</a></p>
<p>&nbsp;&rdquo;The recommended disk space requirements are approximately 2.5 times the size of the package to install, download, and extract the package. After installing a service pack, you can remove the downloaded package. Any temporary files are removed automatically.&rdquo;</p>
<p>So the files that are added or modified during the installation of the Service Pack are absolutely necessary and is not indicated to delete them once the installation is finished.</p>
<p>The folder &laquo;&nbsp;C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Update Cache&nbsp;&raquo; is used to verify what are the service packs or cumulative updates already installed and it is also not indicated to delete it.</p>
<p>Normally, as the article mentioned above explains, after the service pack is installed he will delete the temporary files he created and that are no longer necessary.</p>
<p>The only thing that can be deleted after the service pack is installed is the installation kit that was used to install the service pack.</p>
<p>&nbsp;</p>
<p><strong>2. Does the number of instances installed on a server can impact the performance or the storage size? If so, how much space is needed for each instance?</strong></p>
<p>Each installation of SQL Server will create one independent SQL Server Instance on the same server. That means, each installation will copy and use its own folders with its own system databases (master, model, msdb, tempdb) and the configuration choosen during the installation of after. So it is necessary a minimum required disk space for each instance depending on the components or features that are chosen during the installation:</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/8561.Untitled%20picture.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/8561.Untitled-picture.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/96/82/8561.Untitled%20picture.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-96-82/8561.Untitled-picture.png" alt="" border="0" /></a></p>
<p>For each SQL Server installation you will need the following disk space: <a href="https://msdn.microsoft.com/en-us/library/ms143506(v=sql.105).aspx#HardDiskSpace">https://msdn.microsoft.com/en-us/library/ms143506(v=sql.105).aspx#HardDiskSpace</a>&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;</p>
<p><strong>3. Is there a maximum number of instances that can be installed on an environment? What is the optimum number of instances that can be installed?</strong></p>
<p>The maximum number of instances for a standalone server is 50 and for a clustered environment is 25: <a href="https://msdn.microsoft.com/en-us/library/ms143432(v=SQL.100).aspx">https://msdn.microsoft.com/en-us/library/ms143432(v=SQL.100).aspx</a></p>
<p>The Database Engine component of SQL Server&nbsp;is the core service for storing, processing, and securing data. The Database Engine provides controlled access and rapid transaction processing to meet the requirements of the most demanding data consuming applications in your enterprise. To create a typical SQL Server installation, see <a href="https://msdn.microsoft.com/en-us/library/ms143219(v=sql.105).aspx">How to: Install SQL Server 2008 R2 (Setup)</a>.</p>
<p>You can install multiple SQL Serve instances on the same machine but not more than 50. For each new installation you have to make sure that you have enough resources for the instance to function correctly.</p>
<p>Depending on the applications you have in place and the necessary configuration needed by each application you can have one or more SQL Server instances with one or more databases that correspond to your needs.</p>
<p>&nbsp;</p>
<p><strong>4. Is it necessary to have one instance for each application?</strong></p>
<p>Considering the characteristics of each application, the SQL Server configuration needed for each application and the resources on the server, you can use one instance for all the applications or multiple instances for all the applications you have.</p>
<p>It is not absolutely necessary or a requirement to have one instance for each application.</p>
<p>&nbsp;</p>
<p><strong>5. What are the necessary rights for each user?</strong></p>
<p>You can find in the following link the rights you can give each user: <a href="https://social.technet.microsoft.com/wiki/contents/articles/4433.database-engine-permission-basics.aspx#Grant_the_Least_Permissions">https://social.technet.microsoft.com/wiki/contents/articles/4433.database-engine-permission-basics.aspx#Grant_the_Least_Permissions</a></p>
<p>Securing SQL Server&nbsp;can be viewed as a series of steps, involving four areas: the platform, authentication, objects (including data),&nbsp;and applications that access the system. The following topics will guide you through creating and implementing an effective security plan: <a href="https://msdn.microsoft.com/en-us/library/bb283235(v=sql.105).aspx">Securing SQL Server</a>.</p>
<p>&nbsp;</p>
<p><strong>6. What are the requirements and steps of installing correctly SQL Server?</strong></p>
<p>The requirements for installing correctly SQL server are detailed in the article: <a href="https://msdn.microsoft.com/en-us/library/bb500442(v=sql.105).aspx">https://msdn.microsoft.com/en-us/library/bb500442(v=sql.105).aspx</a>&nbsp;&nbsp;</p>
<ul>
<li><a href="https://msdn.microsoft.com/en-us/library/ms143506(v=sql.105).aspx">Hardware and Software Requirements for Installing SQL Server 2008 R2</a></li>
</ul>
<p>Describes SQL Server hardware and software requirements, operating system support, network and Internet considerations, and hard disk space requirements.</p>
<ul>
<li><a href="https://msdn.microsoft.com/en-us/library/ms143753(v=sql.105).aspx">Check Parameters for the System Configuration Checker</a></li>
</ul>
<p>Describes requirements for the SQL Server System Configuration Checker.</p>
<ul>
<li><a href="https://msdn.microsoft.com/en-us/library/ms144228(v=sql.105).aspx">Security Considerations for a SQL Server Installation</a></li>
</ul>
<p>Describes security considerations for a SQL Server installation.&nbsp;</p>
<p>Also to have a step by step installation you can access: <a title="How to: Install SQL Server 2008 R2 (Setup)" href="https://msdn.microsoft.com/en-us/library/ms143219(v=sql.105).aspx">How to: Install SQL Server 2008 R2 (Setup)</a></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Master Data Services issue with ‘https’, error message:”[HttpWebRequest_WebException_Remoteserver] Arguments: NotFound Debugging resource strings are unavailable.”</title>
      <link>https://docs.microsoft.com/archive/blogs/beatrice_popa/master-data-services-issue-with-https-error-messagehttpwebrequest_webexception_remoteserver-arguments-notfound-debugging-resource-strings-are-unavailable</link>
      <pubDate>Thu, 31 Jan 2013 03:17:00 GMT</pubDate>
      <dc:creator><![CDATA[Beatrice Popa]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/beatrice_popa/2013/01/31/master-data-services-issue-with-https-error-messagehttpwebrequest_webexception_remoteserver-arguments-notfound-debugging-resource-strings-are-unavailable/</guid>
      <description><![CDATA[Master Data Services issue with &lsquo;https&rsquo;, error...]]></description>
      <content:encoded><![CDATA[<p>Master Data Services issue with &lsquo;https&rsquo;, error message:&rdquo;[HttpWebRequest_WebException_Remoteserver] Arguments: NotFound Debugging resource strings are unavailable.&rdquo;</p>
<p><strong>Environment Description:</strong></p>
<p>Windows Server 2008 R2 x64 SP1 with SQL Server 2012 SP1 and IIS configured on the same machine.</p>
<p>Master Data Services configured on the same machine.</p>
<p>&nbsp;</p>
<p><strong>Scenario:</strong><br /><br />In the Master Data Services Configuration Manager - you create a new database.</p>
<p>In Web Configuration tab - Website you create a new website (or use the Default Web Site).</p>
<p>Created a new Web application and selected the new database you created above. <br /><br />Also you enabled the DQS Integration and clicked &lsquo;apply&rsquo;.</p>
<p>In the Internet Information Services (IIS) Manager, for the web site you created, in bindings you choose to use only https and selected a SSL certificate (a certificate for which you do not have any error message).<br /><br />When you open Master Data Manager - Explorer you received the following error message:</p>
<p><em>"[HttpWebRequest_WebException_Remoteserver] Arguments: NotFound Debugging resource strings are unavailable.Often the key and arguments provide sufficient information to diagnose the problem.See <a href="https://go.rnicrosoft.com/fwlinkl?linkid=106663&amp;Version=5.O.61118.O&amp;File=System.Windows.dll&amp;Key">https://go.rnicrosoft.com/fwlinkl?linkid=106663&amp;Version=5.O.61118.O&amp;File=System.Windows.dll&amp;Key=HttpWebRequest_WebExcetion_RemoteServer</a>"</em><br /><br />After you click on OK you receive again the same error message. After the second click you have as result an empty, white page.</p>
<p>&nbsp;</p>
<p><strong>Steps to verify possible issues:</strong></p>
<p><strong>Step1:</strong></p>
<p>First you have to be aware that &ldquo;The Master Data Manager web application can use either HTTP or HTTPS, but not both.&rdquo;</p>
<p><strong>Step2:</strong></p>
<p>Second you have to be sure that the following article is verified on your environment: <a href="https://msdn.microsoft.com/en-us/library/hh479776.aspx">https://msdn.microsoft.com/en-us/library/hh479776.aspx</a></p>
<p>As the article describes, you have to do the following modifications on your MDS environment:</p>
<p>1.&nbsp;Prerequisites to perform the procedure:</p>
<p>- You must be an administrator on the web server where Master Data Manager is installed.</p>
<p>- MDS must be installed on the web server, and a web application must exist. For more information, see <a href="https://msdn.microsoft.com/en-us/library/ee633752.aspx">Install Master Data Services</a> and <a href="https://msdn.microsoft.com/en-us/library/ee633729.aspx">Create a Master Data Manager Web Application (Master Data Services)</a>.</p>
<p>&nbsp;2. To secure the Master Data Manager web application with HTTPS</p>
<p>- After you have confirmed that the Master Data Manager Web application is configured correctly with HTTP, create a certificate in IIS. For more information, see <a href="https://technet.microsoft.com/library/cc732230(WS.10).aspx">Configuring Server Certificates in IIS 7</a>.</p>
<p>- In the Connections pane, under Sites, click the site that hosts the Master Data Manager Web application.</p>
<p>- In the Actions pane, click Bindings.</p>
<p>- Click Add.</p>
<p>- From the list, select https.</p>
<p>- Select the SSL certificate.</p>
<p>- Click OK.</p>
<p>Optional. To remove HTTP so that users can access the site with HTTPS only, from the list, click the row with http. Click Remove and on the confirmation dialog box, click Yes.</p>
<p>- To close the Site Bindings dialog box, click Close.</p>
<p>-&nbsp;Now open the web.config file from drive: \Program Files\Microsoft SQL Server\110\Master Data Services\WebApplication.</p>
<p>- Find the string &lt;security mode="Message"&gt; and change it to &lt;security mode="Transport"&gt;.</p>
<p>- Save and close the file. If you get an error, it could be because you have UAC enabled. For more information, see <a href="https://technet.microsoft.com/en-us/library/cc709691(WS.10).aspx">Turn off User Account Control</a>. Users should now be able to use HTTPS to access the site.</p>
<p>I<strong>mportant</strong> You must change basicHttp and wsHttpBinding configurations after removing HTTP.</p>
<p>That means that in the web.config you have to do the following modifications:</p>
<p>&nbsp;- First modification:<em>&nbsp;&nbsp;</em></p>
<p><em>&lt;!-- Non-SSL implementations.--&gt;<em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></em></em><em>&lt;!--</em><em>&lt;security mode="Transport"&gt;</em><em>--&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;!--&lt;message clientCredentialType="Windows"/&gt;--&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;!--&lt;/security&gt;--&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;!--SSL implementations--&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;security mode="Transport"&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;message clientCredentialType="Windows" /&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;/security&gt;</em></p>
<p><em>&nbsp;</em>- The second modification :<em>&nbsp;</em></p>
<p><em>&lt;!-- Non-SSL implementations.--&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;!--&lt;security mode="TransportCredentialOnly"&gt;--&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;!--&lt;transportclientCredentialType="Windows"/&gt;--&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;!--&lt;/security&gt;--&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;!-- SSL implementations --&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;security mode="Transport"&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;transportclientCredentialType="Windows" /&gt;</em><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&lt;/security&gt;</em></p>
<p><strong>Step3:</strong></p>
<p>You must be sure the certificate used is in order, without any error message (very important);</p>
<p><strong>Step4:</strong></p>
<p>Open a CMD with administrator rights and executed the command: iisreset</p>
<p>&nbsp;</p>
<p><strong>Possible cause:</strong></p>
<p>You can receive the error message above if the modifications in web.config file are not correct or are incomplete.</p>
<p>Also the error message can appear if there are issues with the IIS configuration or with the certificate.</p>
<p>To troubleshoot the issue I recommend enabling a logging on MDS using the following link: <a href="https://support.microsoft.com/kb/2423478">https://support.microsoft.com/kb/2423478</a>. The KB article is for SQL Server 2008 R2 but I tested it on an SQL Server 2012&nbsp;and it works.</p>
<p>&nbsp;</p>
<p>I hope the blog provided some extra information and clarifications concerning the modifications that have to be done so the Master Data Manager Web application can be used with HTTPS</p>]]></content:encoded>
    </item>
  </channel>
</rss>