SET STATISTICS TIME ON
RUN T-SQL
SET STATISTICS TIME OFF
This blog is about my history as a software engineer utilizing technologies C#, Java, React, JavaScript, .NET Core, SQL Server , Oracle, GIT, GitHub, Jira, Azure, AWS and HTML5. “I have not failed. I've just found 10,000 ways that won't work.” Thomas A. Edison. Please click on all my ADVERTISING links to help support this blog. Thank you.
Wednesday, December 02, 2015
Friday, November 27, 2015
Tuesday, November 17, 2015
SQL Server Queries are spilling out to tempdb
-- How to rid yourself of tempDB spilage if SORT causing issues Create a Temp Table with a CLUSTERED INDEX
IF OBJECT_ID('tempdb..#tempSizes') IS NOT NULL DROP TABLE #tempTable
SELECT DISTINCT
IDENTITY(INT,1,1) AS ID,
Products.Name,
Product_Families.Parent_Family_Name,
INTO #tempTable
FROM Products
LEFT JOIN Product_Families ON Products.Product_Family_ID = Product_Families.Product_Family_ID
WHERE Products.Discontinued = 0
AND Quantity > 0
CREATE CLUSTERED INDEX IX_ID ON #tempSizes(ID)
SELECT * FROM #tempTable
IF OBJECT_ID('tempdb..#tempSizes') IS NOT NULL DROP TABLE #tempTable
SELECT DISTINCT
IDENTITY(INT,1,1) AS ID,
Products.Name,
Product_Families.Parent_Family_Name,
INTO #tempTable
FROM Products
LEFT JOIN Product_Families ON Products.Product_Family_ID = Product_Families.Product_Family_ID
WHERE Products.Discontinued = 0
AND Quantity > 0
CREATE CLUSTERED INDEX IX_ID ON #tempSizes(ID)
SELECT * FROM #tempTable
Thursday, November 12, 2015
Tuesday, November 03, 2015
Friday, October 30, 2015
IIS ApplicationPoolIdentity - Credit - http://stackoverflow.com/users/419/kev
The
ApplicationPoolIdentity
is assigned membership of the Users
group as well as the IIS_IUSRS
group. On first glance this may look somewhat worrying, however the Users
group has somewhat limited NTFS rights.
For example, if you try and create a folder in the
C:\Windows
folder then you'll find that you can't. The ApplicationPoolIdentity
still needs to be able to read files from the windows system folders (otherwise how else would the worker process be able to dynamically load essential DLL's).
With regard to your observations about being able to write to your
c:\dump
folder. If you take a look at the permissions in the Advanced Security Settings, you'll see the following:
See that Special permission being inherited from
c:\
:
That's the reason your site's
ApplicationPoolIdentity
can read and write to that folder. That right is being inherited from the c:\
drive.
In a shared environment where you possibly have several hundred sites, each with their own application pool and Application Pool Identity, you would store the site folders in a folder or volume that has had the
Users
group removed and the permissions set such that only Administrators and the SYSTEM account have access (with inheritance).
You would then individually assign the requisite permissions each
IIS AppPool\[name]
requires on it's site root folder.
You should also ensure that any folders you create where you store potentially sensitive files or data have the
Users
group removed. You should also make sure that any applications that you install don't store sensitive data in their c:\program files\[app name]
folders and that they use the user profile folders instead.
So yes, on first glance it looks like the
ApplicationPoolIdentity
has more rights than it should, but it actually has no more rights than it's group membership dictates.
An
ApplicationPoolIdentity
's group membership can be examined using the SysInternalsProcess Explorer tool. Find the worker process that is running with the Application Pool Identity you're interested in (you will have to add the User Name
column to the list of columns to display:
For example, I have a pool here named
900300
which has an Application Pool Identity of IIS APPPOOL\900300
. Right clicking on properties for the process and selecting the Security tab we see:IIS APPPOOL\900300
is a member of the Users
group.Repost - http://stackoverflow.com/users/419/kev
Wednesday, October 07, 2015
FTP Certificate TLS Encryption fix
- Windows 2008 R2 - IIS 7.5 using FTP
- FileZilla (Protocol=FTP; Encryption=Require explicit FTP over TLS; Logon Type:=Normal; UserName=****; Passwword=****** Currently there are 3 virtual drives and when I connect via FileZilla they all display fine, however when I try to configure a 4th virtual directory it will not display in FileZilla.
I am actually getting a sporadic failure all together after the directory is created:
Command: LIST Error: GnuTLS error -110: The TLS connection was non-properly terminated. Status: Server did not properly shut down TLS connection Error: Transfer connection interrupted: ECONNABORTED - Connection aborted Response: 550 Keyset does not exist Error: Failed to retrieve directory listing
If I delete the Virtual Directory the directories will display again. What is wrong, all the permissions are identical. Is there something with the SSL that has to be configured on the directory? Any assistance would be great.
http://serverfault.com/questions/655968/iis-7-5-ftp-and-virtual-directory/690420#690420
ANSWER - The "550 Keyset does not exist" error message may be caused by the pass-through authentication settings for the virtual directory. If pass-trough authentication is configured to use a 'specific user' rather than the default setting of 'application user' then the 550 error will be returned unless(probably) the 'specific user' is granted permission to access the Machine Keys for certificates.
Granted READ ONLY Access to the C:\ProgramData\Microsoft\Crypto\RSA directory for the particular FTP User Account
Thursday, October 01, 2015
Friday, September 25, 2015
Locking your network password
NEVER EVER have Scheduled TASKs, SERVICES or be logged into another machine when
changing your password. NEVER!!!!!
In other words, always run Services and Scheduled TASKS with a different Active Directory (AD) account. I don't care how long it takes to get an AD admin to create the account never, ever use your own login for another process. I am 15 years into this work and I should know better.
Please do not make this mistake, because you will ALWAYS forget another process is running under your ID. You know, one of those SENIOR Moments.
In other words, always run Services and Scheduled TASKS with a different Active Directory (AD) account. I don't care how long it takes to get an AD admin to create the account never, ever use your own login for another process. I am 15 years into this work and I should know better.
Please do not make this mistake, because you will ALWAYS forget another process is running under your ID. You know, one of those SENIOR Moments.
Thursday, September 24, 2015
KNOW YOUR DATA, KNOW YOUR WORKLOAD AND KNOW YOUR DB ENGINE
BY PINAL DAVE
SQL SERVER – Index Seek Vs. Index Scan (Table Scan)
Index Scan retrieves all the rows from the table. Index Seek retrieves selective rows from the table.
Index Scan:
Since a scan touches every row in the table whether or not it qualifies, the cost is proportional to the total number of rows in the table. Thus, a scan is an efficient strategy if the table is small or if most of the rows qualify for the predicate.
Since a scan touches every row in the table whether or not it qualifies, the cost is proportional to the total number of rows in the table. Thus, a scan is an efficient strategy if the table is small or if most of the rows qualify for the predicate.
Index Seek:
Since a seek only touches rows that qualify and pages that contain these qualifying rows, the cost is proportional to the number of qualifying rows and pages rather than to the total number of rows in the table.
Since a seek only touches rows that qualify and pages that contain these qualifying rows, the cost is proportional to the number of qualifying rows and pages rather than to the total number of rows in the table.
Index Scan is nothing but scanning on the data pages from the first page to the last page. If there is an index on a table, and if the query is touching a larger amount of data, which means the query is retrieving more than 50 percent or 90 percent of the data, and then optimizer would just scan all the data pages to retrieve the data rows. If there is no index, then you might see a Table Scan (Index Scan) in the execution plan.
Index seeks are generally preferred for the highly selective queries. What that means is that the query is just requesting a fewer number of rows or just retrieving the other 10 (some documents says 15 percent) of the rows of the table.
In general query optimizer tries to use an Index Seek which means that optimizer has found a useful index to retrieve recordset. But if it is not able to do so either because there is no index or no useful indexes on the table then SQL Server has to scan all the records that satisfy query condition.
Reference : Pinal Dave (http://blog.SQLAuthority.com)
Friday, September 18, 2015
Chrome developer tools - DOM Bread Crumb
Today, I was really stumped with some CSS and setting display:none; and display: block; on the correct DOM element. depending on @media query for Mobile responsive design. Over and over I was incorrectly setting the correct DOM Element and then for some reason or another I finally looked at the bread crumb in Chomes F12 Developer tools, which quickly help me figure out the correct element and parent that needed the CSS applied to. I will be using this for a long time to come. +Walt Daniels is still the best mentor to push me to use Chrome Dev tools and I am thankful for his mentoring and knowledge sharing.
Maybe this will help another developer out.
Maybe this will help another developer out.
Thursday, September 10, 2015
When should I use jQuery's document.ready function?
Credit stackoverflow - http://stackoverflow.com/questions/13062246/when-should-i-use-jquerys-document-ready-function
In simple words,
$(document).ready
is an event which fires up whendocument
is ready.
Suppose you have placed your jQuery code in
head
section and trying to access a dom
element (an anchor, an img etc), you will not be able to access it because html
is interpreted from top to bottom and your html elements are not present when your jQuery code runs.
To overcome this problem, we place every jQuery/javascript code (which uses DOM) inside
$(document).ready
function which gets called when all the dom
elements can be accessed.
And this is the reason, when you place your jQuery code at the bottom (after all dom elements, just before
</body>
) , there is no need for $(document).ready
There is no need to place
on
method inside $(document).ready
only when you use on
method on document
because of the same reason I explained above. //No need to put inside $(document).ready
$(document).on('click','a',function () {
});
// Need to put inside $(document).ready if placed inside <head></head>
$('.container').on('click','a',function () {
});
EDIT
From comments,
$(document).ready
does not wait for images or scripts. Thats the big difference between$(document).ready
and$(document).load
- Only code that accesses the DOM should be in ready handler. If it's a plugin, it shouldn't be in the ready event.
Wednesday, September 02, 2015
Quiz Day - What does this do?
var nyc = {
fullName: "New York City",
mayor: "Bill de Blasio",
population: 8000000,
boroughs: 5
};
for(var property in nyc){
console.log(property);
}
fullName: "New York City",
mayor: "Bill de Blasio",
population: 8000000,
boroughs: 5
};
for(var property in nyc){
console.log(property);
}
Monday, August 31, 2015
New Nick Name - "CoDEcAT --- Taking on PHP...
<!DOCTYPE html>
<html>
<head>
<title> Challenge Time! </title>
<link type='text/css' rel='stylesheet' href='style.css'/>
</head>
<body>
<p>
<?php
// Your code here
class Cat
{
public $isAlive = true;
public $numLegs = 4;
public $name;
function __construct($name){
$this->name = $name;
}
public function meow(){
return "Meow meow";
}
}
$myCat = new Cat("CodeCat");
echo $myCat->meow();
?>
</p>
</body>
</html>
<html>
<head>
<title> Challenge Time! </title>
<link type='text/css' rel='stylesheet' href='style.css'/>
</head>
<body>
<p>
<?php
// Your code here
class Cat
{
public $isAlive = true;
public $numLegs = 4;
public $name;
function __construct($name){
$this->name = $name;
}
public function meow(){
return "Meow meow";
}
}
$myCat = new Cat("CodeCat");
echo $myCat->meow();
?>
</p>
</body>
</html>
Wednesday, August 19, 2015
IIS Blowout Corruption
Had IIS on TEST go corrupted yesterday and had to remove and re-install. I do not know why, but the following firewall setting got cut off and I had to ensure it was enabled.
PORT :443 Insure inbound traffic rule was turned ON. This was preventing me from accessing the Web site remotely.
PORT :443 Insure inbound traffic rule was turned ON. This was preventing me from accessing the Web site remotely.
Tuesday, August 18, 2015
Friday, August 14, 2015
Awesome Disclaimer
Disclaimer ###### Inc., provides this publication as is
without warranty of any kind, either expressed or implied. This publication
could include technical inaccuracies or typographical errors. Changes are
periodically made to the information herein. These changes will be incorporated
in new editions of the publication. ######, Inc. may make improvement and/or
changes in the product(s) and/or programs(s) described in this publication at
any time.
Hmm would you use their software for Credit Card Transactions? Ifffffffyyyyyyy.
Thursday, August 13, 2015
ThreadAbortException with ASP.NET redirect
Response.Redirect("/newpage.aspx", False)
HttpContext.Current.ApplicationInstance.CompleteRequest()
Monday, August 10, 2015
Log Date: 8/10/2015 1619 Hours - Never trust another persons code who no longer works with you or cannot be talked to.
15 years and you would think that I would have learned not to trust another developers code who no longer works for the company. I am at the closing of a very tough conversion for responsive design and the jQuery is not right from the original developers.
UGH 3 hours on this, but got it figured out.
UGH 3 hours on this, but got it figured out.
Friday, August 07, 2015
Wednesday, August 05, 2015
Bootstrap implementation disclaimer
Disclaimer – All BootStrap(http://getbootstrap.com/)
Framework changes being made for the
mobile upgrade to the www.domain.com
Web site require the following testing once the change is made – All testing is
performed in all configurations to include Internet Explorer, Firefox, Chrome Web browsers and on all devices from iPhone, iPad, Android devices, desktop computers and more. If
the change does not look correct the time to debug and fix the design can take
anywhere from 5 minutes to great number of hours or even days to research and fix in order
to ensure the responsive design works for all devices.
Tuesday, August 04, 2015
SQL Server Table Size Report
SELECT
t.NAME AS TableName,
s.Name AS SchemaName,
p.rows AS RowCounts,
SUM(a.total_pages) * 8 AS TotalSpaceKB,
SUM(a.used_pages) * 8 AS UsedSpaceKB,
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN
sys.schemas s ON t.schema_id = s.schema_id
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND i.OBJECT_ID > 255
GROUP BY
t.Name, s.Name, p.Rows
ORDER BY
t.Name
t.NAME AS TableName,
s.Name AS SchemaName,
p.rows AS RowCounts,
SUM(a.total_pages) * 8 AS TotalSpaceKB,
SUM(a.used_pages) * 8 AS UsedSpaceKB,
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN
sys.schemas s ON t.schema_id = s.schema_id
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND i.OBJECT_ID > 255
GROUP BY
t.Name, s.Name, p.Rows
ORDER BY
t.Name
Friday, July 31, 2015
Thursday, July 23, 2015
First Byte Time “FBT” www.webpagetest.org
First and foremost I hope this helps some others, I find it very
important to share knowledge that will help others to improve their Web sites
on the Internet.
I have been scratching my head trying to figure out why I
was receiving an “F” rating on www.webpagetest.org for First
Byte Time “FBT”. After some research and additional testing on
www.shoeshow.com I have come to the following conclusions:
Reasons
why First Byte Time takes so long
- Number of requests/responses needed to build the page
- Does the page have a lot of Dynamic content on the page (aka how many database calls are going back and forth for data)
- Size of the overall page
- Size of CPU and MEMORY of the HOSTING SERVER. The more powerful the SERVER the faster processing you will receive.
- Do you have a VM Server or a Dedicated Server
My test sample was for the home page of www.shoeshow.com
I got an “F” for FBT every time, that is because this page has a lot of dynamic
content and unless I dissect and rebuild this page it will continue to receive
an “F” although
the overall page is loading in under 2 sec. However, If I go to https://www.shoeshow.com/reward-points it gets a “B” because there is very little dynamic or
programming on that page and not many images.
Finally when I run our https://www.shoeshow.com/404.aspx we get an “A” because there is no images and no coding.
My overall opinion is that FBT is important, but can also be a
false/positive.
And Finally --- Utilize a CDN if you want a fast responsive Web site. I cannot believe the overall performance of using a CDN --- Yes I will plug https://www.akamai.com/
Wednesday, July 15, 2015
Boot Strap Search Box with glyphicon glypicon-search
Adding to Code Library OPEN SOURCE
<div class="row"> <div class="container"> <div class="col-md-offset-3 col-md-6 col-md-offset-3"> <div class="input-group"> <span class="input-group-btn"> <input type="text" id="txtGlobalSearch" class="form-control" placeholder="Search Site..." onkeypress="return submitglobal(this, event);"/> <button type="button" class="btn btn-default" runat="server" onclick="GlobalSearch(); return false;"><span class="glyphicon glyphicon-search"></span></button> </span> </div><!-- /input-group --> </div><!-- /.col-md-12 --> </div><!-- Container --> </div><!-- Row -->
Monday, July 06, 2015
Caching --- How to ensure you optimize
IIS, Optimising Performance, 304 status codes, and one stupid browser…
How to prevent 304 responses and be sure to know that Chrome acts different with DEV tools --- Great article by Terry Brown... http://idisposable.co.uk/2011/03/iis-optimising-performance-304-status-codes-and-one-stupid-browser/#comment-2119464518
Note when use the Chrome Developer tools looks at two columns ---
Note when use the Chrome Developer tools looks at two columns ---
Wednesday, June 17, 2015
What is the difference between ByVal and ByRef?
Xiaoyun Li MSFT answers ---
https://social.msdn.microsoft.com/forums/vstudio/en-US/07b9d3b9-5658-49ed-9218-005564e8209e/what-is-the-difference-between-byval-and-byref
https://social.msdn.microsoft.com/forums/vstudio/en-US/07b9d3b9-5658-49ed-9218-005564e8209e/what-is-the-difference-between-byval-and-byref
When you write a subroutine or function, you can pass variables from your main code to that subroutine or function.
If you want to pass the value of the variable, use the ByVal syntax. By passing the value of the variable instead of a reference to the variable, any changes to the variable made by code in the subroutine or function will not be passed back to the main code. This is the default passing mechanism when you don’t decorate the parameters by using ByVal or ByRef.
If you want to change the value of the variable in the subroutine or function and pass the revised value back to the main code, use the ByRef syntax. This passes the reference to the variable and allows its value to be changed and passed back to the main code.
For more information about passing Arguments by Value and by Reference, please refer to MSDN document:
C# ---
.NET Coding: Argument as ByRef (ref in C#) or ByVal (default in C#)
Thursday, June 11, 2015
Wednesday, June 10, 2015
Thursday, June 04, 2015
Time Span Check for Store Hours to show... Using a .NET Literal Control
I have done this countless times, but senior moments are happening.
That is all for today....
Now I will always refer back to the My Blog to review...
I like how the conditional logic is written
LowerBound <= Value <= Upper Bound
AndAlso for short circuiting
Till Next Post.
Const timeHourOpen As Integer = 8 Const timeHourClosed As Integer = 16 'Set one hour less because at 5:00 the store will close
If (timeHourOpen <= DateTime.Now.Hour AndAlso DateTime.Now.Hour <= timeHourClosed) Then'Account for greater than 17 hundred hours aka 17:01 callCenterOpen.Visible = True Else callCenterOpen.Visible = False End If
That is all for today....
Now I will always refer back to the My Blog to review...
I like how the conditional logic is written
LowerBound <= Value <= Upper Bound
AndAlso for short circuiting
Till Next Post.
Thursday, May 21, 2015
Auto load content on scroll down
First Special Thanks to --- Adam Khoury @ www.DevelopPHP.com - https://www.developphp.com/video/JavaScript/Scroll-Load-Dynamic-Content-When-User-Reach-Bottom-Ajax
I extended this a bit to include some back to top feature.
I extended this a bit to include some back to top feature.
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="JavaScripAutoScroll.aspx.vb" Inherits="JavaScripAutoScroll" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>JavaScript Auto Populate the page | MMWebs.biz</title>
<style type="text/css"> div#status{ position: fixed;font-size: 24px;} div#wrap{ width: 800px; margin: 0 auto} div.newData{ height: 1000px;background: #09F;margin: 10px 10px;} .back-to-top { position: fixed; bottom: 2em; right: 0px; z-index: 999; text-decoration: none; color: #000000; background-color: rgba(235, 235, 235, 0.80); font-size: 12px; padding: 1em; display: none; } .back-to-top:hover { background-color: rgba(135, 135, 135, 0.50); } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> function yHandler() { var wrap = document.getElementById('wrap'); var contentHeidht = wrap.offsetHeight; // Gets page content height var yOffset = window.pageYOffset; //Gets the vertical scroll position var y = yOffset + window.innerHeight; if (y >= contentHeidht) { wrap.innerHTML += '<div class="newData"></div>'; // Ajax call to get more dynamic data goes here } var status = document.getElementById('status'); status.innerHTML = contentHeidht + " | " + y; } window.onscroll = yHandler; </script> </head> <body> <a href="#" class="back-to-top">Back to Top</a> <form id="form1" runat="server"> <div> <div id="status">0 | 0</div> <div id="wrap"><img src="framework/images/tempMatrix.gif" width="800px" height="1200px" /></div> </div> </form> </body> </html> <script type="text/javascript"> var offset = 220; var duration = 500; jQuery(window).scroll(function () { if (jQuery(this).scrollTop() > offset) { jQuery('.back-to-top').fadeIn(duration); } else { jQuery('.back-to-top').fadeOut(duration); } }); jQuery('.back-to-top').click(function (event) { event.preventDefault(); jQuery('html, body').animate({ scrollTop: 0 }, duration); return false; }); </script>
Thursday, May 14, 2015
Web site performance - Keys to running a high performance Web site
So you have built your site and lets say it is an eCommerce site which displays tens of thousands of static images and gets 500,000 session per month.
TEST PERFORMANCE
http://www.webpagetest.org/ (Best performance tester on the Web)
However, you are seeing poor performance from servers around the world. How do you fix this. Well in the coming weeks I will tell you. Right now I am doing research on this very thing and I will return to let you know the results.
Test 1 --- Servers hosted in NC and the site being hit from OR--- Currently the site I am supporting has a first hit load time of 6.226 seconds, but with caching this is reduced to 2.750 seconds on the second hit. However the 6.226 seconds is still way to long.
Test 2 --- Servers hosted in NC and the site being hit from NY --- Currently the site I am supporting has a first hit load time of 4.053 seconds, but with caching this is reduced to 1.319 seconds on the second hit. However the 4.053 seconds is still way to long.
Test 3 --- Servers hosted in NC and the site being hit from VA --- Currently the site I am supporting has a first hit load time of 5.211 seconds, but with caching this is reduced to 3.428 seconds on the second hit. However the 5.211seconds is still way to long.
"F" --- Currently the key issues are the First Byte Time --
TEST PERFORMANCE
http://www.webpagetest.org/ (Best performance tester on the Web)
However, you are seeing poor performance from servers around the world. How do you fix this. Well in the coming weeks I will tell you. Right now I am doing research on this very thing and I will return to let you know the results.
Test 1 --- Servers hosted in NC and the site being hit from OR--- Currently the site I am supporting has a first hit load time of 6.226 seconds, but with caching this is reduced to 2.750 seconds on the second hit. However the 6.226 seconds is still way to long.
Test 2 --- Servers hosted in NC and the site being hit from NY --- Currently the site I am supporting has a first hit load time of 4.053 seconds, but with caching this is reduced to 1.319 seconds on the second hit. However the 4.053 seconds is still way to long.
Test 3 --- Servers hosted in NC and the site being hit from VA --- Currently the site I am supporting has a first hit load time of 5.211 seconds, but with caching this is reduced to 3.428 seconds on the second hit. However the 5.211seconds is still way to long.
"F" --- Currently the key issues are the First Byte Time --
First Byte Time | Applicable Objects | Time to First Byte for the page (back-end processing + redirects) |
---|---|---|
What is checked | The target time is the time needed for the DNS, socket and SSL negotiations + 100ms. A single letter grade will be deducted for every 100ms beyond the target. |
The second issue is Cache of static content, however I cannot cache this content as this is an eCommerce site and you have to be sure you follow PCI rules https://www.pcisecuritystandards.org/
How do you decrease this 6.226 seconds issue --- My attempts will be to use Content Delivery Network (CDN) aka EDGE SERVERS.
In the coming weeks I will be updating this blog to give the results.
My work will be to off load the Images, JavaScript Files (JS), and Cascading Style Sheets (CSS), to increase performance of the site.
I will be very curious to see if that 500,000 sessions will increase once we implement CDN to increase the sites performance.
More to come.
Thursday, March 26, 2015
7 things to check to resolve “A network-related or instance-specific error occurred while establishing a connection to SQL Server…” by Donabel Santos, edited by Moojjoo
If you get the following SQL
Server Error:
“A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) ”
“A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) ”
Things to check:
1. Make sure your database engine is configured to accept remote connections
1. Make sure your database engine is configured to accept remote connections
• If you are not using a domain account as a service account (for example if you are using NETWORK SERVICE), you may want to switch this first before proceeding
3. If you are using a named SQL Server instance, make sure you are
using that instance name in your connection strings in your ASweb P.NET
application
• Usually the format needed to specify the database server is machinename\instancename
• Check your connection string as well
• Usually the format needed to specify the database server is machinename\instancename
• Check your connection string as well
<connectionStrings>
<add name="SampleConnectionString"
connectionString="Data Source=machinename\instancename;Initial
Catalog=AdventureWorks;Integrated Security=SSPI;Min Pool Size=5;Max Pool
Size=60;Connect Timeout=30″ providerName="System.Data.SqlClient"/>
</connectionStrings>
4. You may need to create an exception on the firewall for the SQL
Server instance and port you are using
• Start > Run > Firewall.cpl
• Click on exceptions tab
• Add the sqlservr.exe (typically located in C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Binn, check your installs for the actual folder path), and port (default is 1433)
• Check your connection string as well
• Start > Run > Firewall.cpl
• Click on exceptions tab
• Add the sqlservr.exe (typically located in C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Binn, check your installs for the actual folder path), and port (default is 1433)
• Check your connection string as well
5. If you are using a named SQL Server instance, make sure you are
using that instance name in your connection strings
6. Check SQLBrowser; check that it is running. You may also need to create an exception in
your firewall for SQLBrowser.
7. Check that you have connectivity to the SQL Server.
Note what you are using to connect: machine name, domain name or IP address? Use this when checking connectivity. For example if you are using myserver
• Start > Run > cmd
•netstat -ano right click on the window title and use find 1433
•telnet myserver 1433
•ping -a myserver
Note what you are using to connect: machine name, domain name or IP address? Use this when checking connectivity. For example if you are using myserver
• Start > Run > cmd
•netstat -ano right click on the window title and use find 1433
•telnet myserver 1433
•ping -a myserver
Check what ports are IP addresses are being returned.
If you still can’t get any connection, you may want to create a
SQL account on the server, a corresponding SQL user on the database in
question, and just use this username/password combo in your web application.
Subscribe to:
Posts (Atom)